Google Sheet中使用XLOOKUP查找日期并返回多值的实现方法
实现XLOOKUP返回所有匹配值的方案
基础XLOOKUP默认仅返回第一个匹配结果,要获取指定日期对应的所有单元格值,可以通过以下几种方法实现:
方法1:TEXTJOIN + IF 数组公式(兼容多数Excel版本)
假设日期数据在A2:A6,对应值在B2:B6,目标查找日期放在D2单元格,使用以下公式:
=TEXTJOIN(" | ", TRUE, IF(A2:A6=D2, B2:B6, ""))
- 旧版Excel需按
Ctrl+Shift+Enter以数组公式形式输入;新版Excel直接回车即可生效。 - 公式会将所有匹配值用
|分隔拼接,输出格式与你期望的apple | berry一致。
方法2:FILTER函数(Excel 365/2021及以上版本)
如果你的Excel支持动态数组功能,用FILTER函数更灵活:
- 直接返回所有匹配值(垂直排列):
=FILTER(B2:B6, A2:A6=D2)
- 拼接成指定格式的字符串:
=TEXTJOIN(" | ", TRUE, FILTER(B2:B6, A2:A6=D2))
方法3:BYROW + XLOOKUP 组合(进阶用法)
通过BYROW遍历匹配的日期,再用XLOOKUP获取对应值,最后拼接结果:
=TEXTJOIN(" | ", TRUE, BYROW(FILTER(A2:A6, A2:A6=D2), LAMBDA(x, XLOOKUP(x, A2:A6, B2:B6))))
内容的提问来源于stack exchange,提问作者John Howell
相关产品推荐
相关产品推荐

