将 ARRAYFORMULA 与 SUMIF 用于多个条件,并结合通配符 select 给定条件的所有值
Using ARRAYFORMULA with SUMIF for multiple conditions combined with a wildcard to select all values for a given condition
我在多个条件下使用 ARRAYFORMULA
使用 SUMIF
使用 &
连接条件并且它有效。现在我想将这个想法类似地用于一个特殊条件,指示考虑对给定列使用通配符(“ALL”)的所有值,但它不起作用。
这是我的例子:
上I2
如果有以下公式:
=ARRAYFORMULA(if(not(ISBLANK(H2:H)),sumif(B2:B & C2:C & D2:D & year(E2:E),
if($G="ALL",B2:B,$G) & if($G="ALL",C2:C,$G) & if($G="ALL",D2:D,$G) &
H2:H,A2:A),))
它有效,当我输入特定值时,但当我使用我的通配符时: ALL
表示对于给定的 column/criteria 所有值都应考虑在内,它不起作用正如预期的那样。该方案应考虑所有条件都可以标记为 ALL
在这种情况下,它将提供每年 NUM 的总和。
这是我在 Google 电子表格中的测试样本:
https://docs.google.com/spreadsheets/d/1c28KRQWgPCEdzVvwvXFOQ3Y13MBDjpEgKdfoLipFAOk/edit?usp=sharing
备注:
- 我能够使用
SUMPRODUCT
得到一个解决方案,但是这个函数没有用 ARRAYFORMULA
扩展
- 在我的真实例子中,我有更多的条件,所以我正在寻找一个升级有更多条件的解决方案
使用:
=QUERY(QUERY(FILTER(A2:E,
IF(G2="All", B2:B<>"×", B2:B=G2),
IF(G4="All", C2:C<>"×", C2:C=G4),
IF(G6="All", D2:D<>"×", D2:D=G6)),
"select year(Col5),sum(Col1)
where Col1 is not null
group by year(Col5)"),
"offset 1", 0)
我在多个条件下使用 ARRAYFORMULA
使用 SUMIF
使用 &
连接条件并且它有效。现在我想将这个想法类似地用于一个特殊条件,指示考虑对给定列使用通配符(“ALL”)的所有值,但它不起作用。
这是我的例子:
上I2
如果有以下公式:
=ARRAYFORMULA(if(not(ISBLANK(H2:H)),sumif(B2:B & C2:C & D2:D & year(E2:E),
if($G="ALL",B2:B,$G) & if($G="ALL",C2:C,$G) & if($G="ALL",D2:D,$G) &
H2:H,A2:A),))
它有效,当我输入特定值时,但当我使用我的通配符时: ALL
表示对于给定的 column/criteria 所有值都应考虑在内,它不起作用正如预期的那样。该方案应考虑所有条件都可以标记为 ALL
在这种情况下,它将提供每年 NUM 的总和。
这是我在 Google 电子表格中的测试样本:
https://docs.google.com/spreadsheets/d/1c28KRQWgPCEdzVvwvXFOQ3Y13MBDjpEgKdfoLipFAOk/edit?usp=sharing
备注:
- 我能够使用
SUMPRODUCT
得到一个解决方案,但是这个函数没有用ARRAYFORMULA
扩展
- 在我的真实例子中,我有更多的条件,所以我正在寻找一个升级有更多条件的解决方案
使用:
=QUERY(QUERY(FILTER(A2:E,
IF(G2="All", B2:B<>"×", B2:B=G2),
IF(G4="All", C2:C<>"×", C2:C=G4),
IF(G6="All", D2:D<>"×", D2:D=G6)),
"select year(Col5),sum(Col1)
where Col1 is not null
group by year(Col5)"),
"offset 1", 0)