如何仅用Excel公式提取与特定数据关联的所有唯一值?
Excel 查找重复匹配项的所有关联值方案
一、Excel 365/2021 最简方案(动态数组)
如果你的Excel版本支持动态数组(365/2021及以后),直接用FILTER函数就能一步实现需求:
假设:
- 搜索值输入在单元格
F1 - 原始数据中,匹配列是
A:A,需要提取的关联值列是B:B
在F2单元格输入公式:
=FILTER(B:B,A:A=F1,"无匹配结果")
公式会自动溢出所有匹配的关联值,无需手动下拉,没有匹配项时会显示指定提示文本。
二、旧版Excel 兼容方案(数组公式)
针对不支持动态数组的旧版Excel,用INDEX+SMALL+IF的组合公式解决,需要按Ctrl+Shift+Enter输入数组公式:
从F2单元格开始,输入以下公式后下拉:
=IFERROR(INDEX(B:B,SMALL(IF(A:A=$F$1,ROW(A:A)),ROW()-ROW($F$1))),"")
公式逻辑:
IF(A:A=$F$1,ROW(A:A)):筛选出所有匹配搜索值的行号SMALL(...,ROW()-ROW($F$1)):依次提取第1、2、3...个匹配行的行号INDEX(B:B,...):根据行号提取对应的关联值IFERROR:当没有更多匹配项时返回空值,避免出现#NUM!错误
优化建议:
- 尽量使用具体的单元格范围(如
A1:A1000)代替整列引用(A:A),减少计算量提升效率 - 因关联值本身唯一,两种方案都能保证返回结果无重复
内容的提问来源于stack exchange,提问作者adam_m
相关产品推荐
相关产品推荐

