COUNTIF包含在SUM中(使用大括号但不是数组公式) - 这有效,但为什么呢?

时间:2013-08-01 06:29:11

标签: excel

(使用2007年 - 未在2003年尝试过)。

假设您有一个这样的列:

    A
1 BLAH
2 BLEH

...你想做一个COUNTIF,它返回BLAH或BLEH是否在单元格内。

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

但是 -

如果您将=SUM(COUNTIF(A1,{"BLAH","BLEH"}))放入B1 return 1,则; { 如果你将=SUM(COUNTIF(A2,{"BLAH","BLEH"}))放在B2中,它也会神奇地return 1

我一直在使用评估公式逐步观察,当您使用SUM作为包装时,它会显示{"BLAH","BLEH"}作为数组工作。这是关键吗?是因为SUM识别数组,而COUNTIF不识别数组?

我猜是这样的 - 但我不得不说围绕使用花括号和数组的文档(实际数组公式之外)很少。

任何人都可以了解阵列可以使用的功能吗?

提前致谢。

1 个答案:

答案 0 :(得分:2)

COUNTIF(A2,{"BLAH","BLEH"})返回一个包含每个值的结果的数组。因此,如果您在B2中输入数组公式:C2:=SUM(COUNTIF(A2,{"BLAH","BLEH"})),您将获得0和1。

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

请注意,您也可以使用=COUNTIF(A2, "BLAH") + COUNTIF("BLEH")来获得所需的结果,如果您有多个值,也可以使用vlookup,例如:IF(ISERROR(VLOOKUP(A2,rangeWithAllowedValues,1,false)),0,1)