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

求助:根据产品名及最新日期返回对应数值、化学品及数量的Excel公式

Excel公式实现方案

以下方案默认原始数据存储在名为数据源的工作表中,对应列规则:A列存储日期,B列存储化学品/产品名称,C列存储对应数值/数量,可根据你实际的表格结构调整引用范围。

需求1:根据产品名称匹配返回最新日期对应数值

Excel 365/2021及以上版本(支持动态数组函数)

假设你要查询的产品名称存放在当前工作表的A2单元格,在要返回结果的单元格输入以下公式即可:
=XLOOKUP(MAXIFS(数据源!A:A,数据源!B:B,A2),数据源!A:A,数据源!C:C,"无匹配数据",0,1)
公式逻辑:先用MAXIFS提取指定产品对应的最大日期,再用XLOOKUP匹配该日期下该产品对应的数值。

旧版Excel(无XLOOKUP/MAXIFS函数)

使用数组公式,输入完成后需按Ctrl+Shift+Enter组合键生效:
=INDEX(数据源!C:C,MATCH(1,(数据源!B:B=A2)*(数据源!A:A=MAX(IF(数据源!B:B=A2,数据源!A:A,0))),0))

需求2:在新表自动提取最新日期对应的所有化学品名称及数量

Excel 365/2021及以上版本

直接在新表A2(化学品名称列首个空白单元格)输入公式,会自动溢出填充所有最新日期的化学品名称:
=FILTER(数据源!B:B,数据源!A:A=MAX(数据源!A:A),"无最新数据")
在B2(数量列首个空白单元格)输入公式,自动溢出填充对应数量:
=FILTER(数据源!C:C,数据源!A:A=MAX(数据源!A:A),"无最新数据")

旧版Excel

在A2输入数组公式,按Ctrl+Shift+Enter组合键生效后,向下拖拽填充直到出现错误值即可:
=INDEX(数据源!B:B,SMALL(IF(数据源!A:A=MAX(数据源!A:A),ROW(数据源!A:A),99999),ROW(A1)))
B2同理将公式中的数据源!B:B替换为数据源!C:C即可。

注意事项

如果同一天存在同一产品的多条记录,上述公式默认返回最后一条记录的数值,若需要汇总当日该产品的所有数值,可将公式替换为=SUMIFS(数据源!C:C,数据源!B:B,A2,数据源!A:A,MAXIFS(数据源!A:A,数据源!B:B,A2))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 09:54:00