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)