数组作为Excels COUNTIFS函数的标准,混合AND和OR

我一直在使用Google这一段时间,似乎没有得到它的工作。 我使用Excel 2010,并希望计算AND和OR运算符的混合。

我想要做的是这样的事情

COUNTIFS($A:$A,"string1" , $B:$B,"string2" , $C:$C,{"stringA","stringB","stringC"}) 

这意味着在COUNTIFS函数中混合了AND和OR运算符。 列A和列B必须匹配string标准,但列C只能匹配作为条件给出的数组中的一个值。 colA和colB上的匹配以及colC上的一个数组值

不同的方法是为数组中的每个值创build一个COUNTIFS函数

 COUNTIFS($A:$A,"string1" , $B:$B,"string2" , $C:$C,"stringA") + COUNTIFS($A:$A,"string1" , $B:$B,"string2" , $C:$C,"stringB") + COUNTIFS($A:$A,"string1" , $B:$B,"string2" , $C:$C,"stringC") 

然而,这是很多重复的代码,并且错误的我! 逻辑解决scheme将传递一个数组作为列C的条件。此外,我的数组包含多于三个值…

当我在Excel中这样做时,公式被接受,并且有几行被计数,但结果是低的。 这不是我期待的结果。

任何可以告诉我这是否可能的Excel-Pro? 这将节省我很多工作! 谢谢!

您可以使用

 =SUM(COUNTIFS($A:$A,"string1",$B:$B,"string2",$C:$C,{"stringA","stringB","stringC"})) 

你也可以用sumproduct来使用类似的数组结构

 =SUMPRODUCT(($A:$A="string1")*($B:$B="string2")*($C:$C={"stringA","stringB,"stringC"})) 

嗯,好吧,“或者”会使事情变得更长久。 看到一个相关的问题 。 我想你可以使用=SUMPRODUCT()但仍然有点长。 作为一个数组函数,你必须使用Ctrl + Shift + Enter

=SUMPRODUCT(($A:$A="string1")+0,($B:$B="string2")+0,((($C:$C="stringA")+($C:$C="stringB")+($C:$C="stringC"))>0)+0)

免责声明 :我还没有testing过。