在Excel电子表格中,我有三列数据,第一列A是唯一标识符。 B列是数字,C列是刻度线或空格:
A B C
1 d-45 150 √
2 d-46 200
3 d-45 80
4 d-46 20 √
5 d-45 70 √
现在,我希望对B列中的值进行求和,具体取决于存在的勾号以及相对于A列中的唯一ID。在这种情况下,第1行和第5行。识别我使用的勾号
=IF(ISTEXT(C1),CONCATENATE(A1))
&安培;
=IF(ISTEXT(C1),CONCATENATE(B1)).
这给我留下了两个数据阵列:
D E
1 d-45 150
4 d-46 20
5 d-45 70
我现在想要对E列中的值求和,具体取决于D列中的ID,在本例中为第1行和第5行。我可以使用直接SUMIFS
语句将d-45
指定为但是这个唯一ID会随时更改。我可以使用SUMIFS
的变体吗?
我还希望将ID号的每个新变体放入一个单独的标题中,其总和位于下方,即:
A B
1 d-45 d-46
2 220 20
等...
答案 0 :(得分:0)
你可以试试这个:
获取不同的ID写入(在H1中然后复制权限): 这是一个数组公式,因此您需要按Ctrl Shift Enter输入公式
=INDEX($A$1:$A$5;SMALL(IF(ROW($A$1:$A$5)-ROW($A$1)+1=MATCH($A$1:$A$5;$A$1:$A$5;0);ROW($A$1:$A$5)-ROW($A$1)+1;"");COLUMNS($A$1:A1)))
现在得到总和(H2和副本右)
=SUMPRODUCT(($A$1:$A$5=H1)*ISTEXT($C$1:$C$5)*$B$1:$B$5)
示例中的数据位于A1:C5中 根据您的区域设置,您可能需要替换“;”字段分隔符“,”
答案 1 :(得分:0)
尝试一下
SUMIFS
=SUMIFS(B1:B5,A1:A5,"=d-45",C1:C5,"<>")
其中"<>"
表示该单元格不为空...