#excel
#excel
Вопрос:
Найдите дубликаты в одном столбце, а затем суммируйте количества в другом столбце
DATA RESULT
A 1 A 11
A 1 B 7
A 9 C 5
B 2 D 4
B 2 E 8
B 3
C 5
D 4
E 7
E 1
Комментарии:
2. Сводная таблица или запрос мощности
3. Я пробовал countif, но я не придумал ничего, что работает. Но это, возможно, связано с моей некомпетентностью.
4. Извините, это функция SUMIF . Я всегда их путаю. Если вы все еще не можете заставить это работать, дайте мне адреса диапазонов, с которыми вы работаете (списки ДАННЫХ и РЕЗУЛЬТАТОВ).
Ответ №1:
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: речь идет о нашем инструменте esProc. Нам сказали, что это простой и очевидный способ группировать листы Excel.
A1=file("D:/data.xlsx").xlsimport()
A2=A1.groups(_1;sum(_2))
A3=file("D:/result.xlsx").xlsexport(A2)
Более подробно смотрите Этот пост: Группируйте и суммируйте файл XLS без использования Excel
Ответ №2:
Для EXCEL 365 (или веб-приложения Excel):
В C1 введите:
=UNIQUE(A1:A10)
в D1 введите:
=SUMIF(A1:A10,C1#,B1:B10)
РЕДАКТИРОВАНИЕ # 1:
Если VBA для вас приемлем, попробуйте:
Public Function unikue(rng As Range)
Dim arr, c As Collection, r As Range
Dim nCall As Long, nColl As Long
Dim i As Long
Set c = New Collection
nCall = Application.Caller.Count
On Error Resume Next
For Each r In rng
c.Add r.Text, CStr(r.Text)
Next r
On Error GoTo 0
nColl = c.Count
If nCall > nColl Then
ReDim arr(1 To nCall, 1 To 1)
For i = 1 To nCall
arr(i, 1) = ""
Next i
Else
ReDim arr(1 To nColl, 1 To 1)
End If
For i = 1 To nColl
arr(i, 1) = c.Item(i)
Next i
unikue = arr
End Function
Комментарии:
1. Спасибо, но, к сожалению, «УНИКАЛЬНЫЙ» не отображается как функция в my office 2019. Я знаю, что вы ссылаетесь на Excel 365, но?? есть идеи, плз
2. Я разберусь с альтернативой УНИКАЛЬНОМУ, и =SUMIF(A1:A10,C1:C5,B1:B10) работает нормально, просто скопируйте в D5. Я думаю, что буду использовать VBA для выполнения всех. Большое спасибо за помощь.
3. @user10127073 Смотрите мое РЕДАКТИРОВАНИЕ # 1