要提取最新日期对应的价格,可以使用以下方法,结合了多种函数组合来实现:
方法一:使用 INDEX+MATCH+MAXIFS
函数
-
确定数据结构 :假设数据包含产品名称、日期和价格三列(例如A列:产品名称,B列:日期,C列:价格)。
-
构建公式 :
=INDEX(C:C, MATCH(MAXIFS(B:B, A:A, E2), A:A&B:B, 0))
-
MAXIFS(B:B, A:A, E2)
:按产品名称(A列)筛选后,找到对应日期(B列)的最大值(即最新日期)。 -
MATCH(..., A:A&B:B, 0)
:在产品名称与日期的合并列中查找最大日期的位置。 -
INDEX(C:C, ...)
:返回对应位置的最新价格。
-
-
注意事项 :
-
该公式需按日期列(B列)排序,否则可能返回错误结果。
-
在Excel 2016以下版本中,
MAXIFS
函数不可用,需使用SUMIFS
替代。
-
方法二:使用 LOOKUP
函数与辅助列
-
添加辅助列 :在日期列(B列)添加辅助列,计算每个产品的最大日期。例如,在B列输入以下公式:
=MAX(IF(A:A=当前产品名称, B:B))
这将生成每个产品的最新日期。
-
使用
LOOKUP
函数 :=LOOKUP(1, 0/(A:A=当前产品名称)*(B:B=辅助列), C:C)
通过查找辅助列中的最大日期,获取对应的价格。
方法三:使用 SQL 查询(适用于数据库环境)
若数据量较大或需频繁查询,建议使用SQL:
SELECT 名称, MAX(日期) AS 最新日期, MAX(价格) AS 最新价格
FROM 销售表
GROUP BY 名称;