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

基于Excel多工作表数据筛选最优供应商(最低价/最高库存)

解决方案

方法1:Excel 365/2021 动态数组公式(推荐)

假设「Price」表结构为:A列=产品名,B列=供应商,C列=报价;「Stock」表结构为:A列=产品名,B列=供应商,C列=库存。

在「Sup Selection」工作表的A2单元格输入目标产品名,B2单元格输入以下公式即可得到符合要求的供应商:

=LET(
    prod,A2,
    price_list,FILTER(Price!A:C,Price!A:A=prod),
    sorted_result,SORTBY(price_list,INDEX(price_list,,3),1,XLOOKUP(INDEX(price_list,,2),Stock!B:B,Stock!C:C,0),-1),
    INDEX(sorted_result,1,2)
)

公式逻辑:

  • 用FILTER筛选出当前产品的所有报价数据
  • 用SORTBY先按报价升序(优先取最低报价),再按对应供应商的库存降序(报价相同时取库存最高的)
  • 最后提取排序后第一行的供应商名称

如果要批量处理所有产品,先在「Sup Selection」A列提取唯一产品列表:

=UNIQUE(Price!A:A)

再下拉B列公式即可批量生成结果。

方法2:兼容旧版Excel(无动态数组)

若使用旧版Excel,在「Sup Selection」B2单元格输入以下数组公式(输入后按Ctrl+Shift+Enter确认):

=INDEX(Price!B:B,MATCH(1,(Price!A:A=A2)*(Price!C:C=MIN(IF(Price!A:A=A2,Price!C:C)))*(Stock!C:C=MAX(IF((Price!A:A=A2)*(Price!C:C=MIN(IF(Price!A:A=A2,Price!C:C))),Stock!C:C))),0))

公式逻辑:

  • 先定位当前产品的最低报价
  • 再找到该报价下的最高库存
  • 最终匹配同时满足产品、最低报价、最高库存的供应商

注意事项

  • 确保「Stock」和「Price」表中的供应商名称完全一致(无空格、大小写差异),否则匹配会失败
  • 若同一产品同一最低报价下有多个供应商库存相同,公式会返回第一个匹配到的供应商

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 07:07:40