如何使用INDEX/MATCH公式提取对应A列的B列多个匹配值?
解决A列匹配后返回B列所有不重复值的公式方案
方法1:Excel 365/2021 动态数组公式
直接用UNIQUE+FILTER组合,一步到位自动溢出结果:
=UNIQUE(FILTER(B:B,A:A=查找值))
把公式里的查找值替换成具体内容或单元格引用(比如A2),公式会自动列出所有符合条件的B列不重复值,无需手动下拉填充。
方法2:旧版Excel(无动态数组)的数组公式
若使用2019及更早版本,用数组公式结合INDEX+MATCH+COUNTIF实现,输入完成后需按Ctrl+Shift+Enter确认:
=INDEX(B:B,SMALL(IF(A:A=查找值,MATCH(B:B,B:B,0)),ROW(A1)))
下拉填充公式,直到出现#NUM!停止。如果想避免错误值显示,可嵌套IFERROR:
=IFERROR(INDEX(B:B,SMALL(IF(A:A=查找值,MATCH(B:B,B:B,0)),ROW(A1))),"")
原理说明
- 动态数组方案中,
FILTER筛选出A列匹配的所有B列值,UNIQUE自动去重并扩展结果区域。 - 旧版方案里,
MATCH获取B列值首次出现的位置,SMALL依次提取不重复值的位置,最终通过INDEX返回对应内容。
内容的提问来源于stack exchange,提问作者user22303009
相关产品推荐
相关产品推荐

