标准不在范围内的SUMIFS
我想通过表格的多个标准来计算总和:
ABCD 1 crit1 crit2 code amount 2 ab code1 10 3 ab code3 20 4 ab code2 100 5 ab code1 80 6 ab code4 30
我也有一系列的代码排除在外:
ABCD ........... 10 exclude rows 11 code1 12 code8
我的标记结果单元格的公式如下所示: SUMIFS(D2:D6,A2:A6,"a",B2:B6,"b")
。 如何更改我的SUMIFS
公式,以便通过不在排除代码范围( A11:A12
)中的代码进行筛选?
=SUMPRODUCT( (A2:A6="a") * (B2:B6="b") * ISNA(MATCH(C2:C6,A11:A12,0)), D2:D6)
MATCH
返回MATCH
#N/A!
在查找数组(列表排除行)中找不到查找值(代码)时发生错误。 ISNA()
将匹配转换为FALSE
和不匹配( #N/A!
)为TRUE
。 然后用math运算符*
和你的其他标准“并且”。 TRUE
变为1, FALSE
变为0。 SUMPRODUCT
最后总结了与1 SUMPRODUCT
的数量(而不是0)。
让 – 弗朗索瓦·科贝特(Jean-FrançoisCorbett)的答案在这里是最合适和最容易理解的。
但是,只是为了表明它仍然可以使用SUMIFS
来实现(尽pipe以一些令人费解的代价!):
=SUM(MMULT(MMULT({1,1},SUMIFS(D2:D6,A2:A6,"a",B2:B6,"b",C2:C6,{"=","<>"}&A11:A12)),{-1;1}))/2