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

如何用INDEX/MATCH获取对应MoQ下最低价格的位置?

匹配对应MoQ的最低价格(Excel函数实现)

需求与测试数据

需要根据「MoQ参考值」,从对应MoQ匹配的价格列中找出最低价格,或返回该价格的列标题:

  • 当MoQ参考值为2时,筛选所有MoQ=2的价格并取最低价
  • 当MoQ参考值为1时,匹配唯一对应MoQ=1的价格

测试表格结构与数据:

MoQ参考值选用价格?Price1MoQ1Price2MoQ2ExtraPrice1ExtraMoQ1
2空18911822176.891
1空0.755空空11

预期结果:

  • B2单元格返回ExtraPrice1(或价格176.89)
  • B3单元格返回ExtraPrice1

现有公式问题分析

  1. 第一个公式仅匹配首个符合MoQ的列,未遍历所有匹配项并筛选最低价
  2. 第二个公式的ROW(1:1)仅生成单个行号,无法定位所有匹配的MoQ位置
  3. 第三个公式的FILTER仅返回MoQ值,无法关联到左侧对应的价格列

解决方案

方案1:返回最低价格对应的列标题(Excel 365/2021 动态数组版)

在B2单元格输入以下公式,下拉填充:

=LET(
    price_cols, C2:G2,
    moq_cols, D2:H2,
    price_headers, C$1:G$1,
    valid_prices, FILTER(price_cols, moq_cols=A2),
    valid_headers, FILTER(price_headers, moq_cols=A2),
    INDEX(valid_headers, MATCH(MIN(valid_prices), valid_prices, 0))
)

逻辑说明:

  • LET定义变量简化公式,price_cols提取当前行所有价格列(C、E、G),moq_cols提取对应MoQ列(D、F、H)
  • FILTER筛选出MoQ与参考值匹配的价格和标题
  • MIN(valid_prices)获取筛选后的最低价格,MATCH定位其位置,INDEX返回对应标题

方案2:直接返回最低价格值(Excel 365/2021 动态数组版)

无需标题时,使用简化公式:

=LET(
    price_cols, C2:G2,
    moq_cols, D2:H2,
    valid_prices, FILTER(price_cols, moq_cols=A2),
    MIN(valid_prices)
)

方案3:兼容旧版Excel(2019及更早,数组公式)

输入公式后需按Ctrl+Shift+Enter完成输入:

  • 返回标题:
=INDEX(C$1:G$1,MATCH(MIN(IF(D2:H2=A2,C2:G2)),IF(D2:H2=A2,C2:G2),0))
  • 返回价格:
=MIN(IF(D2:H2=A2,C2:G2))

逻辑说明:

  • IF(D2:H2=A2,C2:G2)生成数组,仅保留MoQ匹配的价格,其余为FALSE
  • MIN提取数组中的最低价格,MATCH定位其位置后用INDEX返回对应标题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 01:52:30