我正在寻找某种数组公式的总和,但我有点卡住了。
我在单元格 T2:T11 中有一列数据,我想要对其求和。每个单元格在 S2:S11 和 R2:R11 中都有两组针对它们的标准:
范围 R2:T11
- a - 1 - 22
- a - 2 - 15
- a - 3 - 87
- a - 4 - 82
- a - 5 - 68
- b - 1 - 45
- b - 2 - 46
- b - 3 - 47
- b - 4 - 04
- b - 5 - 51
现在,如果我只想对所有“b”和“1”求和,例如我会使用 SUMIFS 函数(答案 = 45),但是我想要求和的值可能是倍数,例如“b”和“1、2 和 4”(答案 = 95)。在此示例中,选项“a”和“b”位于单元格 I3:J3 中,选项 1、2、3、4、5 位于单元格 K3:O3 中。然后我得到了 x 与我想要求和的值:
范围 I3:O4
- a - b - 1 - 2 - 3 - 4 - 5
- ""- x - x - x - ""- x - ""
一旦我理解了原理,这将扩展到涵盖更多标准,并且公式将被向下拖动许多行,其中将有针对不同项目的 x(有时是“a”和“b”,有时是针对所有项目,有时反对任何人等)
我认为我需要某种 SUM(IF(... 函数作为数组,但我迷路了。
我设法让它适用于数字,但不适用于数字和字母在一起:
{=SUM(IF(S2:S11=(IF(K4:O4="x",K3:O3)),T2:T11))}
有谁可以提供建议吗?显然我已经尝试过谷歌搜索答案,但我没有找到它 - 如果这个问题已经在其他地方得到了回答,我深表歉意。
非常感谢
汤姆
最佳答案
您可以使用这个“数组公式”
=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 中使用多标准,例如
关于arrays - 如果有多个条件则求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22837125/