在第二个参数中使用单元格引用的Excel countif函数

假设我正在计算列A中的值大于列B中的行数,并且我拥有的数据是A1到A10中的数字1到10,B1到B10中的数字是10到1。

我build立的论坛是

=COUNTIF(A1:A10, ">"&B1:B10) 

正确的结果是5,但是如果我把这个公式放在第10行,我得到9的结果。另外,如果我把这个完全相同的函数放在不同的单元格中,我会得到不同的结果。

它似乎是单元格引用作为第二个参数打破function,如=COUNTIF(A1:A10, ">4")正常工作。

Countif接受一个单一的条件,所以如果你把这个公式放在第三行,它将比较数组到B3 ; 如果你把它放在第7行,它将比较arrays到B7

你可以尝试下面的公式:

 =SUMPRODUCT(--(A1:A10>B1:B10)) 

它将比较数组元素并返回布尔值。 --确保这些布尔值被转换为0和1。 最后总结一下。 这个函数通常需要几个数组的乘法(因此名称为sumproduct),但是在这里我们只在一个数组上使用它来利用它在数组元素上工作的能力。 您也可以提供其他条件:

 =SUMPRODUCT(--(A1:A10>B1:B10), --(A1:A10<4))