计算有多少单元格的值高于其下方的单元格(COUNTIF 和 OFFSET)

Counting how many cells have a higher value than the cell below them (COUNTIF and OFFSET)

我正在尝试计算特定列中有多少单元格的值高于其下方的单元格。这是我已经达到的程度,但它不起作用(它总是 returns 0,即使至少有一个单元格比它下面的单元格大):

=COUNTIF(B4:B500,">"&OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),1,0))

背景(如果有人想知道):我正在使用它来检查此列中的值是否正确排序(即从最低值开始向下移动到最高值)。如果公式returns的值大于1,我就知道列表没有完全排序。

使用 SUMPRODUCT:

=SUMPRODUCT(1*(B4:B16>B5:B17))

=COUNTIF(B5:B16,">"&B4) then copy

您也可以使用 array formula

{=SUM(N(A1:A13<A2:A14))}

这将检查数组中每个单元格的逻辑条件,然后使用 N() 函数将其转换为 0 或 1,然后求和。我更喜欢这种方法,因为与 SUMPRODUCT() 不同,您可以将它与 SUM.

以外的其他函数一起使用

请记住,将数组公式插入单元格后,必须按CTRL+SHIFT+ENTER确认。