说明网
电脑网络 1 个回答

Excel中如何根据物料名称匹配该物料最新日期对应的单价?

newdeng 提问者

发布于 2026-10-23

问题补充

在Excel中根据物料名称匹配最新日期对应的单价,核心思路是先筛选出指定物料的最新日期,再据此返回对应单价。常用方法包括LOOKUP多条件查找、INDEX+MATCH数组公式以及XLOOKUP函数(Office 365及以上版本)。

1 个回答

按发布时间排序
忘记密码 回答者

回答于 2026-10-23

在Excel中根据物料名称匹配最新日期对应的单价,可通过以下几种方法实现。假设A列为物料名称,B列为日期,C列为单价,目标物料名称写在E2单元格。

方法一:LOOKUP函数(兼容性好)

公式:=LOOKUP(1,0/((A:A=E2)*(B:B=MAXIFS(B:B,A:A,E2))),C:C) 原理:MAXIFS先求出该物料的最大日期,再通过多条件构造0和错误值的数组,利用LOOKUP(1,0/...)的经典用法返回最后匹配的单价。

方法二:INDEX + MATCH数组公式

公式:=INDEX(C:C,MATCH(1,(A:A=E2)*(B:B=MAXIFS(B:B,A:A,E2)),0)) 注意:在Excel 2019及更早版本中,输入后需按Ctrl+Shift+Enter确认为数组公式;Microsoft 365中直接回车即可。

方法三:XLOOKUP函数(适用于Microsoft 365或Excel 2021及以上)

公式:=XLOOKUP(1,(A:A=E2)*(B:B=MAXIFS(B:B,A:A,E2)),C:C) XLOOKUP原生支持数组运算,语法更简洁。

适用条件与注意事项

  1. 数据规范:B列的日期必须为Excel可识别的标准日期格式,而非文本型日期,否则MAXIFS无法正确比较大小。
  2. 重复记录处理:若同一物料在同一天存在多条单价记录,上述公式均默认返回第一条匹配到的单价。
  3. 性能优化:实际应用中建议将整列引用(如A:A)替换为具体数据范围(如A2:A1000),避免全列计算导致表格卡顿。

常见误区

  • 误用VLOOKUP:VLOOKUP默认只能按首个匹配项查找,无法直接实现“先找最大日期再取单价”的多步逻辑。
  • 忽略日期格式:文本格式的日期会导致MAXIFS失效,返回错误结果。

内容由网友提供,仅供参考。