如何在Excel中从多份价格表查询商品最低价格及对应来源?
在Excel中实现多价格表商品最低价格查询的可行方案
完全可以实现,针对你25份价格表、每周更新的场景,推荐以下几种方案:
方案1:函数组合(适配多数Excel版本)
首先把所有价格表的数据统一整理到一张「价格汇总」工作表,列结构保持一致:A列item、B列Price list、C列Price。假设搜索商品名的单元格为另一工作表的A1:
获取最低价格:
使用MINIFS函数匹配指定商品的最低价格:=MINIFS(价格汇总!C:C, 价格汇总!A:A, A1)获取对应价格表名称:
如果你的Excel支持XLOOKUP(365/2021及以上),可以直接匹配最低价对应的价格表:=XLOOKUP(MINIFS(价格汇总!C:C, 价格汇总!A:A, A1), 价格汇总!C:C, 价格汇总!B:B, "", 0, 1)若不支持
XLOOKUP,用INDEX+MATCH组合:=INDEX(价格汇总!B:B, MATCH(MINIFS(价格汇总!C:C, 价格汇总!A:A, A1), 价格汇总!C:C, 0))注:如果同一商品有多个相同最低价,会返回第一个匹配的价格表
方案2:FILTER函数(Excel 365/2021专属)
可以一次性返回包含价格表和价格的结果,无需分开写两个公式:
=FILTER(价格汇总!B:C, (价格汇总!A:A=A1)*(价格汇总!C:C=MINIFS(价格汇总!C:C,价格汇总!A:A,A1)))
输入后会自动生成包含对应价格表和最低价格的行,和你期望的输出格式一致。
方案3:Power Query(适合大量数据+每周更新)
针对25份价格表且每周更新的场景,Power Query是最高效的方案,无需手动整理汇总表:
- 打开Excel,点击「数据」选项卡 → 「获取数据」→ 「自文件」→ 「自工作簿」,选择包含所有价格表的文件
- 在弹出的导航器中,勾选所有价格表工作表,点击「转换数据」进入Power Query编辑器
- 在编辑器中,点击「合并查询」→ 「将查询作为新查询合并」,选择「追加查询」,把所有工作表的数据合并为一张统一的汇总表(确保各表的列名完全一致:
item、Price list、Price) - 点击「开始」选项卡 → 「分组依据」,选择
item作为分组列,添加两个聚合列:- 第一个:列名「最低价格」,操作「最小值」,列「Price」
- 第二个:列名「对应价格表」,操作「最小值」或「第一个值」,列「Price list」(若要获取所有最低价对应的价格表,可改用「所有行」后再筛选)
- 点击「关闭并上载」,将处理好的数据加载到Excel工作表。后续每周更新价格表后,只需右键点击加载的表 → 「刷新」即可同步最新数据,搜索时直接用筛选或VLOOKUP即可。
内容的提问来源于stack exchange,提问作者Peter Süssinger
相关产品推荐
相关产品推荐

