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
私の結果は次のようになります: 23
値1,4,7,10
が重複しているため、この場合NumberToSum
は合計する必要があり9,4,9,1
ます。
理想的には、次のようなものが欲しいです=SumIf(A:A,Count>1,B:B)
A:A 内の A のカウントが > 1 の場合、B が合計されます。
しかし、=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,"")
次に、ヘルパー列を合計しますが、1 つのセルで同じことをすべて実行できる単純な数式があることを願っています。
追加の計算を必要とせずに、単一のセルに入力できるより高速な数式を本当に探しています。