求助:Excel中查找值'1'并返回多个匹配值(XLOOKUP/INDEX MATCH无效)
提取二进制列值为1对应的所有Item Number
方法1:Excel 365/2021(动态数组版本)
用FILTER函数可以直接返回所有匹配结果,自动溢出到多行,是最简便的方案。
假设:
- 存储二进制值的列为
A:A(含表头) - Item Number列为
B:B
在空白单元格输入公式:
=FILTER(B:B, A:A=1, "无匹配值")
参数说明:
- 第一个参数指定要返回的目标列
- 第二个参数设置筛选条件(A列值等于1)
- 第三个参数可选,用于无匹配结果时显示提示文本
方法2:Excel 旧版本(无动态数组支持)
结合INDEX+SMALL+ROW实现多结果提取,需要下拉公式直到出现空值:
假设数据从第2行开始,表头在第1行,在空白单元格(例如D2)输入:
=IFERROR(INDEX($B$2:$B$100, SMALL(IF($A$2:$A$100=1, ROW($A$2:$A$100)-ROW($A$2)+1), ROWS($D$2:D2))), "")
输入完成后按Ctrl+Shift+Enter触发数组公式,再下拉填充单元格。
逻辑说明:
IF($A$2:$A$100=1, ROW(...)...)定位A列值为1的行在数据区域内的相对位置SMALL依次提取第1、第2...个匹配位置INDEX根据位置返回对应Item NumberIFERROR处理无更多匹配的情况,显示空值避免错误提示
方法3:Google Sheets
同样使用FILTER函数直接返回所有匹配结果:
=FILTER(B:B, A:A=1)
需要无匹配提示的话,添加第三个参数:
=FILTER(B:B, A:A=1, "无匹配项")
内容的提问来源于stack exchange,提问作者pycharge
相关产品推荐
相关产品推荐

