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

Google Sheets 结合Index Match与Max Date的匹配公式实现方法

Google Sheets 按ID取最新日期对应Phase公式方案

核心公式(INDEX+MATCH+MAX逻辑实现)

假设数据列对应规则:

  • A列:Last Modified Date(最后修改日期)
  • B列:ID Number(ID编号)
  • C列:Phase(阶段值)
  • D列:输出Current Phase(当前阶段,即预期结果列)

在D2单元格输入以下公式,下拉填充即可得到和预期完全一致的结果:

=INDEX(C:C,MATCH(1,(B:B=B2)*(A:A=MAXIFS(A:A,B:B,B2)),0))

公式逻辑拆解

  • MAXIFS(A:A,B:B,B2):先筛选出和当前行ID一致的所有记录,提取其中最大(最新)的日期值
  • (B:B=B2)*(A:A=MAXIFS(...)):逐行判断两个条件:ID和当前行一致、日期等于该ID下的最新日期,两个条件同时满足时返回1,否则返回0
  • MATCH(1, ... ,0):精确查找值为1的行位置
  • INDEX(C:C, 行号):从C列Phase字段中提取对应行的阶段值

可选简化写法(新版Google Sheets适用)

如果你的表格支持XLOOKUP函数,可以用更短的公式实现相同效果,计算效率更高:

=XLOOKUP(1,(B:B=B2)*(A:A=MAXIFS(A:A,B:B,B2)),C:C)

结果校验

对照提供的示例数据验证:

  • ID 165432的最新日期为2022/3/2,对应Phase为Health Check,和预期值一致
  • ID 412356的最新日期为2022/6/23,对应Phase为Adoption,和预期值一致

使用注意

  • 若同一ID下有多条记录的修改日期同为最大值,公式默认返回范围中从上到下第一条匹配记录的Phase值
  • 数据量较大时,建议将公式中的整列引用(如A:A、B:B)替换为实际数据范围(如A2:A1000、B2:B1000),减少计算资源占用,提升加载速度

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 11:42:17