如果有多个标准则求和

时间:2014-04-03 12:02:59

标签: arrays excel if-statement sum

如果数组公式我想要做某种求和,但我很少被卡住。

我在单元格T2:T11中有一列数据,我想要求和。这些单元中的每一个在S2中具有针对它们的两组标准:S11和R2:R11:

范围R2:T11

  1. a - 1 - 22
  2. a - 2 - 15
  3. a - 3 - 87
  4. a - 4 - 82
  5. a - 5 - 68
  6. b - 1 - 45
  7. b - 2 - 46
  8. b - 3 - 47
  9. b - 4 - 04
  10. b - 5 - 51
  11. 现在,如果我只想将所有那些“b”和“1”相加,例如我使用SUMIFS函数(answer = 45),但是我想要求和的值可以是倍数,例如“b”和“1,2和4”(答案= 95)。在该示例中,选项“a”和“b”在单元格I3:J3中,选项1,2,3,4,5在单元格K3:O3中。然后我对那些我要总结的东西得到了x:

    范围I3:O4

    1. a - b - 1 - 2 - 3 - 4 - 5
    2. “” - x - x - x - “” - x - “”
    3. 一旦我理解了原理,这将扩展到涵盖更多标准,公式将被拖动到多个行,其中x将针对不同的项目(有时两者都是“a”和“b”,有时对所有,有时没有等等。)

      我假设我需要某种SUM(IF(...作为一个数组的函数,但我迷失了。

      我设法让数字而不是数字和字母一起工作:

      {=SUM(IF(S2:S11=(IF(K4:O4="x",K3:O3)),T2:T11))}

      任何人都可以提供建议吗?显然我已经尝试使用谷歌搜索答案,但我还没有找到答案 - 如果已经在其他地方已经回答过道歉了。

      非常感谢

      汤姆

1 个答案:

答案 0 :(得分:2)

您可以使用此"数组公式"

=SUM(SUMIFS(T2:T11,R2:R11,TRANSPOSE(IF(I4:J4="x",I3:J3)),S2:S11,IF(K4:O4="x",K3:O3)))

使用 CTRL + SHIFT + ENTER确认

您需要TRANSPOSE其中一个标准,因为一个标准需要是""和一个"行" - 您有两行,因此TRANSPOSE将一行转换为一列。此版本不允许任何其他多标准列,如果您需要,可以切换到此版本:

=SUM(IF(ISNUMBER(MATCH(S2:S11,IF(K4:O4="x",K3:O3),0)),IF(ISNUMBER(MATCH(R2:R11,IF(I4:J4="x",I3:J3),0)),T2:T11)))

时间更长但可以扩展为在Q2中使用多标准:例如Q11