Если есть способ использовать sumif в сочетании с countif?Получите сумму ТОЛЬКО повторяющихся значений
, например, если у меня есть
TransactionNo|NumberToSum
1 |
1 | 9
2 | 6
3 | 3
4 |
4 | 4
5 | 6
6 | 4
7 |
7 | 9
8 | 7
9 | 4
10 |
10 | 1
11 | 3
12 | 6
Мой результат будет:
, поскольку значения 1,4,7,10
дублируются, поэтому мне нужно суммировать NumberToSum
тех 9,4,9,1
в этом случае ,
В идеале я хотел бы Somethings вдоль линий =SumIf(A:A,Count>1,B:B)
Где суммируется B, если счетчик А внутри А: А> 1.
но =SUMIF(A:A,COUNT(A:A)>1,B:B)
не работает.
ПРИМЕЧАНИЕ: данных является НЕ сортируется как он появляется в моем примере.
Если бы я хотел сделать это в VBA один быстрый способ может быть:
Sub sumdups()
Dim rng As Range
Dim rng2 As Range
Dim Sum As Long
Set rng = [A2:A17]
For Each rng2 In rng
If WorksheetFunction.CountIf(Range("A1:A17"), rng2.Value) > 1 Then
Sum = Sum + rng2.Offset(0, 1).Value
End If
Next rng2
End Sub
Другой вариант я попытался это, чтобы добавить столбец с формулой
=IF(COUNTIF(A:A,A2)>1,B2,"")
Затем суммировать столбец помощника , но я надеюсь, что есть простая формула, которая может делать то же самое в одной ячейке.
Я действительно ищу более быструю формулу, которая может быть введена в одну ячейку, без необходимости каких-либо дополнительных вычислений.
Они заморозили первенствовать, у меня есть более 800 000 строк для обработки. Можно ли использовать эту формулу ТОЛЬКО на видимых клетках? Нефильтрованные строки? Как функция 'Subtotal()'? – user2125348
@ user2125348 Практически любая формула замедлялась бы на 800k строк, даже на макросе. Если производительность важна, вы можете вместо этого использовать базу данных, так как вы также приближаетесь к пределу строки Excel (по крайней мере, по умолчанию предел excel 2007/2010 AFAIK) – Jerry
@ user2125348, 'возможно использовать эту формулу ТОЛЬКО на видимые клетки? '- нет, это невозможно –