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

Excel跨表公式需求:根据产品编码匹配横向列表对应价格

跨Sheet提取匹配价格解决方案

嘿,我来帮你搞定这个从Sheet1横向提取价格到Sheet2纵向的问题!

你的需求很明确:要在Sheet2里,根据纵向排列的产品编码(对应Sheet1中每个价格左侧的两列编码),自动匹配并返回Sheet1里对应的价格。结合你的表格结构,我给你两种实用的公式方案:

方案1:用XLOOKUP(简洁高效,适合Excel 365/2021及以上)

在Sheet2的C2单元格输入下面的公式,然后下拉填充就能批量匹配了:

=XLOOKUP(A2&B2, Sheet1!$B:$B&Sheet1!$C:$C, Sheet1!$E:$E, "未找到")

公式说明:

  • A2&B2:把Sheet2中当前行的两个编码合并成一个唯一的匹配标识,避免单编码重复的问题
  • Sheet1!$B:$B&Sheet1!$C:$C:对应Sheet1里每组编码的合并结果,用来精准定位匹配项
  • Sheet1!$E:$E:这是Sheet1中价格所在的列(一定要根据你实际表格调整这个列范围,比如价格在J列就改成Sheet1!$J:$J)
  • "未找到":如果没有匹配到对应编码,会显示这个提示,你也可以改成空值""

方案2:用INDEX+MATCH(兼容所有Excel版本)

如果你用的是旧版Excel,不支持XLOOKUP,就用这个数组公式(输入完成后按Ctrl+Shift+Enter确认,新版Excel直接回车即可):

=INDEX(Sheet1!$E:$E, MATCH(1, (Sheet1!$B:$B=A2)*(Sheet1!$C:$C=B2), 0))

公式说明:

  • (Sheet1!$B:$B=A2)*(Sheet1!$C:$C=B2):生成一个判断数组,只有当Sheet1的B列等于Sheet2的A2、且C列等于Sheet2的B2时,对应位置才会返回1,其余为0
  • MATCH(1, ..., 0):找到数组中第一个1的位置,也就是匹配到的目标行号
  • INDEX(Sheet1!$E:$E, ...):根据找到的行号,提取Sheet1中对应行的价格

重要提示

一定要根据你实际的表格列位置调整公式里的列引用!比如如果Sheet1的编码在D、E列,价格在G列,就把公式里的Sheet1!$B:$B改成Sheet1!$D:$D,Sheet1!$C:$C改成Sheet1!$E:$E,Sheet1!$E:$E改成Sheet1!$G:$G。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 10:13:30