计算有多少单元格的值高于其下方的单元格(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
确认。
我正在尝试计算特定列中有多少单元格的值高于其下方的单元格。这是我已经达到的程度,但它不起作用(它总是 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
确认。