如何用数组公式在单个单元格中获取多个值?
在单个单元格用数组公式返回多个结果的可行方案
当然可以在单个单元格里用数组公式输出多个结果,你当前的公式逻辑有误,调整后就能实现需求。
问题分析
你写的=CONCAT(INDEX($B$2:$B$9,IF($A$2:$A$9<4,$B$2:$B$9)))存在逻辑错误:INDEX函数的第二个参数需要的是符合条件的行号,而不是直接传入B列的姓名值,这会导致索引匹配混乱,无法得到正确结果。
不同Excel版本的解决方案
新版Excel(支持FILTER、TEXTJOIN函数)
直接用以下公式,无需手动按数组快捷键:
=TEXTJOIN(", ", TRUE, FILTER(B2:B9, A2:A9<4))
FILTER(B2:B9, A2:A9<4):筛选出A列数值小于4的对应B列姓名TEXTJOIN(", ", TRUE, ...):用「逗号+空格」将筛选结果连接成单个字符串,TRUE表示忽略空值
旧版Excel(不支持FILTER函数)
使用数组公式,输入后需按Ctrl+Shift+Enter确认:
=TEXTJOIN(", ", TRUE, IF(A2:A9<4, B2:B9, ""))
IF(A2:A9<4, B2:B9, ""):遍历A列,符合条件的返回对应B列姓名,否则返回空值TEXTJOIN同样负责拼接结果,数组公式会批量处理所有行的数据
注意
按你的数据源,符合A列<4的姓名应该是:Jane, John, Michael, Mary, Gloria, Andrea。如果你的期望结果是刻意排除John和Gloria,需要补充额外的筛选条件。
内容的提问来源于stack exchange,提问作者Rasec Malkic
相关产品推荐
相关产品推荐

