如果有办法将 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,"")
然后对辅助列求和,但我希望有一个简单的公式可以在一个单元格中完成所有操作。
我真的只是在寻找一个可以在单个单元格中输入的更快的公式,而不需要任何额外的计算。