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

如何用Excel多条件函数获取指定产品的最新价格?

查找指定产品最后一条记录对应价格的Excel公式方案

根据你的需求,以下几种方法可实现查找指定产品最后一条更新记录的价格,适配不同Excel版本:

方法1:使用XLOOKUP(Excel 365/2021及以后版本)

这是最简洁的方案,支持反向查找:

=XLOOKUP(E5, $B$4:$B$12, $C$4:$C$12, "", 0, -1)
  • 参数说明:
    • E5:指定要查询的产品
    • $B$4:$B$12:产品名称所在的列区域
    • $C$4:$C$12:价格所在的列区域
    • "":找不到匹配产品时返回的内容(可自定义)
    • 0:精确匹配模式
    • -1:从区域末尾往前查找第一个匹配项,即取该产品的最后一条记录

方法2:使用LOOKUP(兼容所有Excel版本)

兼容性极强的方案,无需数组输入:

=LOOKUP(2,1/($B$4:$B$12=E5),$C$4:$C$12)
  • 原理说明:
    • $B$4:$B$12=E5生成布尔数组,匹配产品的位置为TRUE,否则为FALSE
    • 1/()将TRUE转为1,FALSE转为#DIV/0!错误值
    • LOOKUP会忽略错误值,查找比所有1大的2时,会定位到最后一个1对应的价格

方法3:使用INDEX-MATCH结合MAX(兼容旧版本,数组公式)

如果你习惯使用INDEX-MATCH逻辑,可采用此方案(旧版本需按Ctrl+Shift+Enter触发数组计算,新版本自动生效):

=INDEX($C$4:$C$12, MATCH(MAX(IF($B$4:$B$12=E5,ROW($B$4:$B$12))),ROW($B$4:$B$12),0))
  • 原理说明:
    • IF($B$4:$B$12=E5,ROW($B$4:$B$12))返回指定产品所有记录的行号数组
    • MAX()提取其中最大的行号(即该产品最后一条记录的行)
    • MATCH()定位该行号在区域中的位置,INDEX()取出对应价格

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 11:15:00