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

求优雅Excel公式:提取ColumnA独有的唯一值到ColumnC

更简洁的Excel公式方案:提取ColumnA独有的唯一值到ColumnC

嘿,很高兴你已经找到一个可用的方案!针对你要提取ColumnA存在但ColumnB没有的唯一值这个需求,在支持动态数组的Excel版本(比如365/2021)里,我们可以用更简洁的公式,甚至不需要向下填充,直接在C2单元格输入就能自动溢出所有结果。

推荐方案1:用UNIQUE+FILTER组合(最优雅)

直接在C2单元格输入这个公式,它会自动生成所有符合条件的唯一值,不用手动下拉:

=UNIQUE(FILTER(A:A, ISNA(XMATCH(A:A, B:B))))

公式解析:

  • XMATCH(A:A, B:B):检查ColumnA的每个值在ColumnB中是否存在,不存在的返回#N/A
  • ISNA(...):把上面的结果转换成布尔值(不存在的为TRUE)
  • FILTER(A:A, ...):筛选出ColumnA中那些在ColumnB不存在的值
  • UNIQUE(...):对筛选后的结果去重,得到唯一值

如果你的数据有表头(比如A1、B1是列标题),可以调整范围避免包含表头:

=UNIQUE(FILTER(A2:A100, ISNA(XMATCH(A2:A100, B2:B100))))

兼容旧版Excel的方案(无动态数组)

如果你用的是不支持动态数组的旧版Excel(比如2019及更早),可以用这个数组公式(输入后按Ctrl+Shift+Enter确认,再向下填充):

=IFERROR(INDEX($A$2:$A$100, MATCH(0, COUNTIF($B$2:$B$100, $A$2:$A$100)+COUNTIF($C$1:C1, $A$2:$A$100), 0)), "")

这个公式整合了“排除ColumnB已有值”和“避免C列重复提取”的逻辑,比你原有的方案更紧凑。

和你原有方案对比的优势

  • 动态数组版本无需手动下拉,公式自动溢出所有结果,减少操作步骤
  • 逻辑更直观,用FILTER+UNIQUE的组合直接表达“筛选+去重”的核心需求,可读性更强
  • 旧版兼容的数组公式也优化了代码结构,更简洁

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:19:57