COUNTIF包装在SUM(大括号使用,但不是数组公式) – 这工作,但为什么?

(使用2007年 – 2003年没有尝试过)。

假设你有这样一个列:

A 1 BLAH 2 BLEH 

…你想要做一个COUNTIF,返回BLAH还是BLEH。

因此,如果在B1放置=COUNTIF(A1,{"BLAH","BLEH"}) ,它将return 1 。 但是如果在B2放入=COUNTIF(A2,{"BLAH","BLEH"}) ,它将return 0

然而,

如果在B1放置=SUM(COUNTIF(A1,{"BLAH","BLEH"})) ,它将return 1 , 如果在B2放置=SUM(COUNTIF(A2,{"BLAH","BLEH"})) ,它也会奇迹般地return 1

我已经使用Evaluate Formula一步一步的观察了,当你使用SUM作为包装时,它显示{"BLAH","BLEH"}作为一个数组工作。 这是关键吗? 是因为SUM识别数组而COUNTIF不?

我猜是这样的 – 但我不得不说围绕花括号和数组通常使用(实际数组公式外)的文档是相当less的。

任何人都可以摆脱数组可以使用什么function?

提前致谢。

COUNTIF(A2,{"BLAH","BLEH"})返回一个数组,其中包含每个值的结果。 所以如果你在B2:C2: =SUM(COUNTIF(A2,{"BLAH","BLEH"}))input一个数组公式,你将得到一个0和1。

当您将SUM函数应用于结果数组时,您将得到总和(预期的种类!),1。

注意,你也可以使用=COUNTIF(A2, "BLAH") + COUNTIF("BLEH")来得到想要的结果,如果你有很多值,你也可以使用一个vlookup,如: IF(ISERROR(VLOOKUP(A2,rangeWithAllowedValues,1,false)),0,1)