如何基于指定单条件在两列中检索并提取A列对应所有值
适用365/2021及以上版本(支持动态数组)
直接用FILTER函数即可,逻辑最简单。
假设源数据为A2:C100区域,条件值存储在E1单元格,在首个输出单元格输入公式:
=FILTER(A2:A100,(B2:B100=E1)+(C2:C100=E1),"无匹配结果")
输入后直接回车就会自动溢出所有符合条件的A列值,无需手动下拉。公式里的加号代表逻辑「或」,只要B、C列任意一列匹配E1的条件,对应的A列值就会被筛选出来。
适用低版本Excel(2019及更早版本,无动态数组)
用数组公式配合INDEX+SMALL+IF组合实现,同样假设源数据为A2:C100,条件值在E1,首个输出单元格输入公式:
=INDEX(A:A,SMALL(IF((B$2:B$100=E$1)+(C$2:C$100=E$1),ROW($2:$100),99999),ROW(A1)))&""
输入完成后按Ctrl+Shift+Enter三键触发数组计算,之后下拉公式直到出现空白单元格,所有显示的内容就是匹配条件的A列值。
注意事项
- 如需精确匹配,要确保条件单元格的内容和B、C列的内容格式一致,不存在多余空格、特殊符号或者大小写差异
- 公式里的源数据区域可以根据实际行数调整,不要超出实际数据范围,避免无效的冗余计算
内容的提问来源于stack exchange,提问作者Falcon4ch
相关产品推荐
相关产品推荐

