总结基于多个Criterion的列

时间:2017-07-26 09:27:33

标签: excel-vba vba excel

基本上

第1列包含许多名称,
第2列包含许多名称的唯一版本,
第3列包含1或0

我想根据匹配第2列的第1列

对第3列中的值求和

EG

A        B        C
VBA     VBA       1
VBA     XY        0
XY      ZX        1
ZX                1
XY                1
VBA               0
XY                1
ZX                1

所以我希望它产生一个长度与B列相等的第4列,如下所示

VBA    1
XY     3
ZX     2

我尝试了几种不同的方法,但我似乎无法让它发挥作用。 任何帮助将不胜感激

2 个答案:

答案 0 :(得分:2)

您可以使用

=SUMPRODUCT(($C$1:$C$8)*($A$1:$A$8=B1))

根据需要拖动/复制。根据需要改变范围。见图片以供参考。

enter image description here

答案 1 :(得分:0)

除了上述SUMIF方法之外,还有其他方法寻找其他方法:

如果它全部在同一张纸上:

Cells(I, "C").Value = Application.CountIfs(Range("B:B"), Cells;
(I, "A").Value, Range("D:D"), "1")

如果它在多张纸上:

Sheets("SheetName").Cells(I, "C").Value = 
Application.CountIfs(Sheets("SheetName").Range("B:B"), Sheets("SheetName");
.Cells(I, "A").Value, Sheets("SheetName").Range("D:D"), "1")

可能有一种更简洁的方法。您可以为工作表名称设置变量,而不是一遍又一遍地键入表格("工作表名称")。