You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查询包含同一产品的多行数据?解决Lookup函数仅返回单条结果

实现多行匹配查询的解决方案

方法1:用FILTER函数(Excel 365/2021及以上版本)

  • 这个函数能直接返回所有匹配的结果,不用绕弯。假设Table 2里产品名称在B列、产品编码在A列;Table 1里产品编码在D列、物料信息在E列,要根据产品名称匹配所有物料,公式这么写:
    =FILTER(Table1[物料信息], Table1[产品编码]=XLOOKUP(Table2[@产品名称], Table2[产品名称], Table2[产品编码]))
  • 逻辑很简单:先用XLOOKUP根据产品名称找到对应的编码,再用FILTER把Table1里编码匹配的所有物料筛出来,自动返回多行结果。

方法2:TEXTJOIN+IF组合(兼容旧版Excel)

要是用的是没有FILTER的旧版Excel,能把匹配结果合并到一个单元格,用换行分开:
=TEXTJOIN(CHAR(10), TRUE, IF(Table1[产品编码]=XLOOKUP(Table2[@产品名称], Table2[产品名称], Table2[产品编码]), Table1[物料信息], ""))

  • 注意:输完公式要按Ctrl+Shift+Enter触发数组公式,还要给单元格开自动换行,才能看到多行效果。

方法3:Power Query合并查询

  • 步骤1:把Table 1和Table 2都导入Power Query(点「数据」选项卡→「从表格/区域」)
  • 步骤2:选中Table 2,点「合并查询」,选择Table 1,匹配列选「产品编码」,合并类型选「左外部」
  • 步骤3:展开合并后的列,挑要显示的物料信息列,就能得到所有匹配的多行结果,最后加载回Excel就行。

内容的提问来源于stack exchange,提问作者Hm_Joy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 12:07:12