我会尝试编写一个非易失性公式,可能像这样:
中的公式C2
:
=SUM(IF(B2="",SUMIF(M$2:M$13,A2;O$2:O$13),IF(ISNUMBER(B2),SUMIFS(O$2:O$13,M$2:M$13,A2;N$2:N$13;B2),SUMIFS(O$2:O$13,M$2:M$13;A2,N$2:N$13,CHOOSE(MATCH(B2,{"EUROPE","BENELUX"},0),Europe,Benelux)))))
输入为CSE
(顺便说一句,不需要SUMPRODUCT
)。
我不知道你为什么还要尽量避免IF
,因为它实际上可以让用户清楚地了解正在发生的事情,并且避免了不必要的繁重计算。
编辑:特此还有一个场景,您将拥有第三个名为 ranged 的持有所有国家/地区代码(目前与“EUROPE”相同):
中的公式C2
:
=SUM(IF(ISNUMBER(B2),SUMIFS(O$2:O$13,M$2:M$13,A2;N$2:N$13,B2),SUMIFS(O$2:O$13,M$2:M$13,A2,N$2:N$13,CHOOSE(MATCH(B2,{"EUROPE","BENELUX",0},0),Europe,Benelux,ALL))))
也输入为CSE
。
这将消除第一次检查空 withIF
和第一个SUMIF
. 相反,它将空单元格(返回 value 0
)与提供的列表匹配,并选择适当的命名范围。