0

在 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         √

现在,我希望根据存在的刻度以及相对于 A 列中的唯一 ID 对 B 列中的值求和。在这种情况下,第 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 

我现在想根据 D 列中的 ID 对 E 列中的值求和,在本例中为第 1 行和第 5 行。我可以使用直接的SUMIFS语句来指定d-45标准,但是这个唯一 ID 总是会改变。有SUMIFS我可以使用的变体吗?

我还希望将 ID 号的每个新变体放入一个单独的标题中,并在下面加上总和,即:

       A         B 
1   d-45      d-46
2    220        20

ETC...

4

2 回答 2

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 根据您的区域设置,您可能需要替换“;” 字段分隔符由“,”

于 2014-02-17T23:27:27.450 回答
0

尝试这个,

SUMIFS
=SUMIFS(B1:B5,A1:A5,"=d-45",C1:C5,"<>")

其中"<>"意味着单元格不为空...

于 2019-08-14T11:49:07.493 回答