You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Excel求助:基于品牌和产品名称自动匹配填充对应价格

Excel求助:基于品牌和产品名称自动匹配填充对应价格

别担心呀,作为Excel新手遇到这种批量匹配的需求太正常了,我来一步步教你怎么搞定自动填充价格的问题!

首先得先理清楚你的数据源结构,分两种常见情况给你解决方案:

情况1:所有品牌的产品数据都在同一个工作表的大表格里

最推荐你先把分散的品牌表格合并成一个统一的大表格(比如新建一个叫「产品价格库」的工作表),列标题设为:品牌产品名称价格,把每个品牌的产品数据都整理到这个表里,这样后续公式最稳定也最容易维护。

做好数据源后,在需要填充价格的工作表里,点击D2单元格,输入对应公式:

  • 如果你用的是Excel 365/2021及以上版本(支持XLOOKUP函数,逻辑最直观):

    =XLOOKUP(1,('产品价格库'!$A:$A=$H$2)*('产品价格库'!$B:$B=B2),'产品价格库'!$C:$C,"无匹配价格")
    

    这个公式的逻辑是:同时匹配「品牌等于当前工作表H2的值」和「产品名称等于当前行B列的值」,找到对应的价格;如果找不到匹配项,就显示“无匹配价格”(你也可以改成自己想要的提示文字)。

  • 如果你的Excel版本比较旧(不支持XLOOKUP),就用INDEX+MATCH的组合公式,兼容性拉满:

    =IFERROR(INDEX('产品价格库'!$C:$C,MATCH(1,('产品价格库'!$A:$A=$H$2)*('产品价格库'!$B:$B=B2),0)),"无匹配价格")
    

    公式里的IFERROR是用来处理找不到匹配项的情况,避免出现#N/A的错误提示。

输入完D2的公式后,把鼠标放在D2单元格的右下角,当光标变成黑色十字(填充柄)时,按住左键往下拖动,所有行的价格就会自动填充啦!

情况2:每个品牌单独占一个工作表

如果你的数据源是每个品牌对应一个独立的工作表(比如工作表名叫「品牌A」「品牌B」),那可以用INDIRECT函数动态引用H2里的品牌名作为工作表名称,公式如下:

=XLOOKUP(B2,INDIRECT($H$2&"!$B:$B"),INDIRECT($H$2&"!$C:$C"),"无匹配价格")

同样,旧版本Excel可以用INDEX+MATCH替换:

=IFERROR(INDEX(INDIRECT($H$2&"!$C:$C"),MATCH(B2,INDIRECT($H$2&"!$B:$B"),0)),"无匹配价格")

重要注意事项

  • 一定要确保数据源里的品牌名称、产品名称和你当前工作表里H2、B列的内容完全一致(包括大小写、空格,比如“华为”和“ 华为”会被Excel判定为不同内容),不然会匹配失败哦!
  • 如果你的数据量很大,建议不要用整列引用(比如$A:$A),改成实际的数据区域(比如$A$2:$A$1000),这样公式运行会更流畅。

备注:内容来源于stack exchange,提问作者Paris Golding

火山引擎 最新活动