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

Excel中如何获取排除零值与重复值后的第二小唯一值

获取Excel中排除零值与重复值后的第二小唯一值

嘿,这个需求我帮你拆解几个实用的解法,适配不同版本的Excel,放心用~

方法一:Excel 365/2021 动态数组解法(推荐)

这个版本支持最新的动态数组函数,写法简洁直观,一步到位:

=INDEX(SORT(UNIQUE(FILTER(A:A,A:A<>0))),2)

或者用更直白的CHOOSEROWS替代INDEX,可读性更强:

=CHOOSEROWS(SORT(UNIQUE(FILTER(A:A,A:A<>0))),2)

公式拆解:

  • FILTER(A:A,A:A<>0):先把A列里所有非零值筛选出来,直接剔除掉所有0;
  • UNIQUE(...):对筛选后的结果去重,得到一个仅包含唯一非零值的列表;
  • SORT(...):把这个唯一列表按升序排列(默认就是从小到大排序);
  • INDEX(...,2) / CHOOSEROWS(...,2):直接取排序后的第2个元素,也就是你要的第二小唯一值。

举个例子:如果A列数据是0,1,1,2,3,经过上述步骤后,最终会得到2,完全符合你的目标结果。

方法二:旧版Excel(2019及以前)数组公式解法

旧版本没有动态数组函数,得用数组公式实现,输入的时候要按住Ctrl+Shift+Enter触发数组计算:

=SMALL(IF(COUNTIF(A$1:A$10,A$1:A$10)=1,IF(A$1:A$10<>0,A$1:A$10,""),""),2)

(注意把A$1:A$10替换成你实际的数据区域)

公式拆解:

  1. IF(A$1:A$10<>0,A$1:A$10,""):先筛选出区域内的非零值;
  2. IF(COUNTIF(A$1:A$10,A$1:A$10)=1, [上一步结果], ""):在非零值里挑出唯一值(即出现次数为1的值);
  3. SMALL([上一步结果],2):从这些唯一非零值里取第二小的数。

额外提示:处理无符合条件的情况

如果你的数据里唯一非零值少于2个(比如只有1个或者全是0),公式会返回#NUM!错误,可以用IFERROR包装一下,给出友好提示:

=IFERROR(INDEX(SORT(UNIQUE(FILTER(A:A,A:A<>0))),2),"无符合条件的值")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 04:22:03