2017-07-26 56 views
0

基本上總結列基於多個準則

列1包含許多名稱,
列2包含這些許多名稱的唯一版本,
第3欄包含1或0

我想基於第1列匹配列在列3總結的值2

EG

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

所以我希望它產生一個第4列長度等於B列如下

VBA 1 
XY  3 
ZX  2 

我已經嘗試了幾種不同的方法,我只是不能似乎得到它的工作。 任何幫助,將不勝感激

+1

'= SUMIF(A:A,B2,C:C)'並填寫。 – Rory

回答

2

您可以使用

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

拖/根據需要複製下來。根據需要更改範圍。請參閱圖片以供參考。

enter image description here

+1

啊謝謝你的幫助。這種方法比我剛想到的還要短。我設法讓它計算單元格如果A列中的範圍與B列中的數據匹配,但只有D列中的範圍大於0。 –

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") 

這可能是一個更好的方法。您可以爲表格名稱設置變量,而不是一遍又一遍地輸入表格(「表格名稱」)。