You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用单单元格公式统计Excel中值小于上方单元格的数量

统计Excel列中值小于上方单元格的数量(无宏/表格方案)

以下提供两种单单元格公式方案,适配不同Excel版本,均无需宏或转换为表格:

方案1:Excel 365/2021及以上(动态数组支持)

使用动态数组函数自动适配任意长度的非空数值列表:

=SUM(--(DROP(FILTER(A:A,A:A<>""),1)<DROP(FILTER(A:A,A:A<>""),-1)))

公式说明:

  1. FILTER(A:A,A:A<>""):提取列A中所有非空的数值单元格,自动排除空行;
  2. DROP(...,1):移除过滤后列表的第一个元素,得到从第二个值开始的序列;
  3. DROP(...,-1):移除过滤后列表的最后一个元素,得到到倒数第二个值结束的序列;
  4. <:逐个比较两个序列的对应元素,判断下一个值是否小于上一个值,返回布尔值数组;
  5. --:将布尔值(TRUE/FALSE)转换为数值(1/0);
  6. SUM:对转换后的数值数组求和,得到符合条件的数量。

方案2:旧版Excel(无动态数组支持)

需以数组公式形式输入(输入完成后按Ctrl+Shift+Enter确认,公式会自动被大括号包裹):

=SUM(IF(A2:INDEX(A:A,COUNTA(A:A))<A1:INDEX(A:A,COUNTA(A:A)-1),1,0))

公式说明:

  1. COUNTA(A:A):统计列A中非空单元格的总数;
  2. INDEX(A:A,COUNTA(A:A)):定位到列A的最后一个非空单元格;
  3. A2:INDEX(...):生成从第二个到最后一个非空值的序列;
  4. A1:INDEX(...,COUNTA(...)-1):生成从第一个到倒数第二个非空值的序列;
  5. IF:判断下一个值是否小于上一个值,符合条件返回1,否则返回0;
  6. SUM:对IF返回的数组求和,得到结果。

示例验证:

对于序列1、2、3、5、1、6、5,两种公式均会返回2,对应5→1和6→5两个符合条件的情况。

内容的提问来源于stack exchange,提问作者Mister B

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 15:05:26