【问题标题】:Sum the values in Excel cells depending on changing criteria根据不断变化的标准对 Excel 单元格中的值求和
【发布时间】:2014-03-17 10:34:43
【问题描述】:

在 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 作为标准,但这是唯一的身份证总是会变的。我可以使用SUMIFS 的变体吗?

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

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

等等……

【问题讨论】:

  • Pivot table 将拥有这个核心,同意 simoco。尤其是最后的标题。
  • 是的,这可能有效,但是我希望每次在单独的电子表格上添加刻度时,自动更新最终结果或相对于每个 ID 的总和。我可以使用数据透视表吗?
  • OK 数据透视表>>
  • @SaranJackson 您可以在需要时“刷新”数据透视表。您可能还希望 Pivot 数据源较长,以便您还可以捕获新插入的行。该方法的唯一缺点可能是您将在数据透视表的最后一行包含(blank)

标签: excel sumifs


【解决方案1】:

你可以试试这个:

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

【讨论】:

    【解决方案2】:

    试试这个,

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

    其中"&lt;&gt;"表示单元格不为空...

    【讨论】:

      猜你喜欢
      • 2014-08-11
      • 2012-11-16
      • 2021-10-27
      • 1970-01-01
      • 2020-08-23
      • 2018-08-10
      • 2016-07-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多