你可以在这里使用这个SUM
功能吗?添加null
什么都不做,所以你最终得到了想要的值。
Row Labels Sum of Var1 Sum of Var2
1000 7 8
1001 9 17
Grand Total 16 25
编辑:根据您的评论,我认为数据透视表不会起作用。数据透视表假定您想要聚合数据;但在您的情况下,您正在使用它来过滤数据。您的原始链接只有数值,所以这就是它在那里工作的原因。
您可以编写一个可能有帮助的简单 VBA 函数。您将首先获得唯一 ID 列表,然后使用函数提取所需的“Var”值。这是一个可能有助于您入门的功能:
Public Function getunique(rngId As Range, rngAllIds As Range, rngVar As Range)
Dim rngeach As Range
Dim tempVal As Variant
Dim offset As Integer
offset = rngVar.Column - rngAllIds.Column
For Each rngeach In rngAllIds
If rngeach = rngId And UCase(Trim(rngeach.offset(0, offset).Value)) <> "NULL" Then
tempVal = rngeach.offset(0, offset)
getunique = tempVal
Exit Function
End If
Next rngeach
getunique = "<NOT FOUND>"
End Function
以下是输入的函数:
ID Var1 Var2
1000 =getUnique($F2,$A$2:$A$5,B$2:B$5) =getUnique($F2,$A$2:$A$5,C$2:C$5)
1001 =getUnique($F3,$A$2:$A$5,B$2:B$5) =getUnique($F3,$A$2:$A$5,C$2:C$5)
而且,使用您的测试集,结果是:
ID Var1 Var2
1000 apple 8
1001 banana 17