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

跨工作表关联合并数据:Vlookup与Filter公式无法实现预期效果

问题描述

现有两个工作表需要合并整理:

  • 产品数据表(Sheet1):每条产品对应一行,包含产品编码、名称、邮编
  • 包装明细表(Sheet2):同一产品对应多行包装明细,包含产品编码、型号、包装尺寸

Sheet1数据:

Product Code    Name            Pincode
370419466       Tejal Enterprise    401209
370419440       Tejal Enterprise    401209

Sheet2数据(注意:原数据中Prodcut Code为拼写错误,实际应为Product Code):

Product Code    MODEL                  LENTH    WIDTH   HIGHT
370419466       ECU0550BD, W/ UVM2000  186       40      36 
370419466       ECU0550BD, W/ UVM2000  53        33      43 
370419466       ECU0550BD, W/ UVM2000  184       46      24
370419440       ECU0900BD              186       40      36     
370419440       ECU0900BD              53        33      43     

需要在Sheet3中生成合并后的表格,格式如下:

Product Code    Name            Pincode  LENTH    WIDTH   HIGHT
370419466       Tejal Enterprise    401209   186    40      36
370419466       Tejal Enterprise    401209   53     33      43
370419466       Tejal Enterprise    401209   184    46      24
370419440       Tejal Enterprise    401209   186    40      36
370419440       Tejal Enterprise    401209   53     33      43

尝试过VLOOKUP和FILTER公式但未得到预期结果,寻求可行解决方法。


解决方法

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

在Sheet3的B2单元格(对应Name列)输入以下公式,下拉填充至所有行:

=XLOOKUP($A2, Sheet1!$A:$A, Sheet1!$B:$B)

接着在C2单元格(对应Pincode列)输入公式,同样下拉填充:

=XLOOKUP($A2, Sheet1!$A:$A, Sheet1!$C:$C)

注:XLOOKUP会匹配每行的产品编码,返回对应的名称和邮编,不会像VLOOKUP只返回第一个匹配项,完美适配多行明细的场景。

方法2:使用QUERY函数(Excel 365/Google Sheets)

在Sheet3的A1单元格直接输入以下公式,一键生成完整表格:

=QUERY({Sheet2!A:E, Sheet1!B:C}, "SELECT Col1, Col6, Col7, Col3, Col4, Col5 WHERE Col1 IS NOT NULL AND Col6 IS NOT NULL", 1)

解释:

  • {Sheet2!A:E, Sheet1!B:C}:将Sheet2的所有列与Sheet1的名称、邮编列合并为虚拟数组
  • SELECT指定显示列的顺序:产品编码、名称、邮编、长度、宽度、高度
  • WHERE过滤空行,最后的1表示第一行是表头

方法3:Power Query(推荐,适合大量数据)

  1. 打开Excel,点击「数据」选项卡 → 「获取数据」→ 「从文件」→ 「从工作簿」,选择当前工作簿
  2. 在导航器中选中Sheet1和Sheet2,点击「加载到」→ 「仅创建连接」
  3. 再次点击「数据」→ 「获取数据」→ 「合并查询」→ 「合并查询作为新查询」
  4. 合并窗口设置:
    • 上半部分选Sheet2,选择Product Code列
    • 下半部分选Sheet1,选择Product Code列
    • 合并类型选「左外部」(保留Sheet2所有行,匹配Sheet1对应数据)
  5. 点击确定后,在Power Query编辑器中,点击合并列旁的展开按钮,勾选Name和Pincode,取消「使用原始列名作为前缀」
  6. 删除不需要的MODEL列,调整列顺序为需求格式
  7. 点击「关闭并上载」,选择加载到Sheet3

这个方法适合数据量大的场景,支持一键刷新数据,稳定性比公式更高。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 06:24:59