如何在Excel中输出两列数据的匹配值到新列
Excel提取两列共有匹配值实现方法
完全可以实现,用Excel自带函数就能完成,不需要安装额外工具。
你的核心需求是提取两列数据的交集(即同时出现在Col1、Col2中的有效值,排除null这类空内容),对应操作方法分两种版本适配:
- 新版Excel(365/2021及以上版本,支持动态数组功能)
直接在新增的New_col列第一个数据单元格(表头下方第一行)输入以下公式,按回车后会自动生成所有匹配到的共有值,不需要手动下拉填充:
公式里=UNIQUE(FILTER(A:A,COUNTIF(B:B,A:A)>0,""))A:A对应Col1所在整列,B:B对应Col2所在整列,会自动过滤掉只在单列出现的内容、null空值,最终输出的结果就是你要的Bananas、Apes两个共有值。如果需要像你示例里Bananas后面带逗号,直接在公式里对应值的位置加文本拼接符调整格式即可。 - 旧版Excel(2019及更早版本,无动态数组功能)
按以下步骤操作:- 先把两列里所有
null内容批量替换成空白单元格,避免干扰匹配 - 在
New_col第一个数据单元格输入以下公式,输入完成后按住Ctrl+Shift再按回车,触发数组公式计算:
注意公式里的=IFERROR(INDEX(A:A,SMALL(IF(COUNTIF(B:B,$A$2:$A$100)>0,ROW($A$2:$A$100),99999),ROW(A1))),"")$A$2:$A$100要替换成你自己表格里Col1实际存放数据的单元格范围,不要直接选整列避免计算卡顿 - 选中输入完公式的单元格,鼠标按住单元格右下角往下拖动填充,直到单元格显示空白就停止,此时列里展示的非空内容就是两列的共有匹配值。
- 先把两列里所有
小提示:如果匹配结果出现重复值,选中New_col列点「数据」选项卡里的「删除重复值」就能一键去重,和你预期的输出效果完全一致。
内容的提问来源于stack exchange,提问作者COderman
相关产品推荐
相关产品推荐

