根据与另一列同一行中的值的比较来计数单元格

根据与另一列同一行中的值的比较来计数单元格

关于根据条件对单元格进行计数有很多问题,但我无法找到一种方法来在当前行中另一列中的值小于/大于当前单元格时对单元格进行计数。示例:

A 列(下方)中有多少个单元格具有非空值并且该值小于 B 列同一行中的值?

A     B
--    --
6     
2     1
3*    6
      2
4*    6
4     1

答案应该是 2,也就是我以星号添加的两个(数据中通常没有星号)。

我想要使​​用的是:

=COUNTIFS(A1:A6,"<>",A1:A6,"<"&cell in column B for whatever row Excel is currently looking at)

…但你不能这么做。有什么想法吗,最好避免使用 VBA?

注意:如果有解决方案,理想情况下,在引用 Excel 表中的列名时它仍然有效。使用诸如偏移之类的东西很容易导致将来的错误。

答案1

为了避免添加计数器列,我认为您可以使用 SUMPRODUCT 公式:

=SUMPRODUCT((A1:A6<>"")*(A1:A6<B1:B6))

答案2

我并不想构建连接比较符号的复杂公式,而是更喜欢在 C 列中创建一个结果为 0 或 1 的公式。然后只需SUM在此列上进行操作即可。

在您的示例中:

C1 = IF(AND($A1<>"",$A1<$B1),1,0) 

那么你的答案将是SUM($C:$C)

相关内容