Excel能否用公式实现:单单元格多查找值对应返回多结果
在Excel中根据单个单元格的多条件返回对应多个值的解决方案
场景说明
需要将主表格中A2单元格(内容为Credit Debit Payment)对应的B2单元格,返回查找表格中匹配的多个ID值,以换行形式显示:
111 112 113
适用公式方案
方案1:Excel 365/2021及以上版本(支持动态数组函数)
在B2单元格输入以下公式,然后开启单元格自动换行(右键单元格→设置单元格格式→对齐→勾选自动换行):
=TEXTJOIN(CHAR(10), TRUE, XLOOKUP(TEXTSPLIT(A2, " "), $D$2:$D$5, $E$2:$E$5, ""))
TEXTSPLIT(A2, " "):将A2中的文本按空格拆分为单个查找条件(Credit、Debit、Payment)XLOOKUP(...):逐个匹配查找表格中的Name列,返回对应的ID值TEXTJOIN(CHAR(10), TRUE, ...):用换行符(CHAR(10))将所有匹配结果拼接,TRUE参数忽略空值
方案2:旧版本Excel(不支持动态数组)
在B2单元格输入以下数组公式,按Ctrl+Shift+Enter确认输入,同样开启自动换行:
=TEXTJOIN(CHAR(10), TRUE, IF(ISNUMBER(SEARCH($D$2:$D$5, A2)), $E$2:$E$5, ""))
SEARCH($D$2:$D$5, A2):检查查找表格的Name是否包含在A2的文本中IF(...):匹配成功则返回对应ID,否则返回空值TEXTJOIN:将有效结果用换行符拼接
注意事项
- 确保查找表格的Name列无重复值,避免返回重复的ID结果
- 使用具体的单元格区域(如
$D$2:$D$5)代替整列引用(D:D),可提升公式计算效率 - 必须开启单元格自动换行,才能看到换行显示的效果
内容的提问来源于stack exchange,提问作者Emily Nettles
相关产品推荐
相关产品推荐

