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

如何用Google Sheet公式自动填充最新日期对应的多单元格数据?

解决Google Sheets自动提取最新日期对应数据的问题

以下按两种常见表格结构给出解决方案,你可以根据实际表格调整:


情况1:结构化表格(日期、数据类型、数值分列)

假设原表格(命名为Sheet1)的结构是:

  • A列:日期(如A2:A范围)
  • B列:数据类型(value1/target,如B2:B范围)
  • C列:Tom的数值(C2:C范围)
  • D列:Jim的数值(D2:D范围)

直接用XLOOKUP公式(新版Sheets支持,简洁直观):

  • 提取最新日期的Tom-value1:
    =XLOOKUP(1, (Sheet1!$A:$A=MAX(Sheet1!$A:$A))*(Sheet1!$B:$B="value1"), Sheet1!$C:$C)
    
  • 提取最新日期的Jim-value1:
    =XLOOKUP(1, (Sheet1!$A:$A=MAX(Sheet1!$A:$A))*(Sheet1!$B:$B="value1"), Sheet1!$D:$D)
    
  • 提取最新日期的Tom-target:
    =XLOOKUP(1, (Sheet1!$A:$A=MAX(Sheet1!$A:$A))*(Sheet1!$B:$B="target"), Sheet1!$C:$C)
    
  • 提取最新日期的Jim-target:
    =XLOOKUP(1, (Sheet1!$A:$A=MAX(Sheet1!$A:$A))*(Sheet1!$B:$B="target"), Sheet1!$D:$D)
    

公式逻辑:先用MAX(Sheet1!$A:$A)锁定最新日期,再匹配value1/target类型,两个条件同时满足时返回对应单元格的数值。

如果用旧版Sheets,换INDEX+MATCH数组公式:

  • Tom-value1示例:
    =INDEX(Sheet1!$C:$C, MATCH(1, (Sheet1!$A:$A=MAX(Sheet1!$A:$A))*(Sheet1!$B:$B="value1"), 0))
    
    旧版需按Ctrl+Shift+Enter触发数组计算,新版Sheets自动支持。

情况2:非结构化表格(日期单独一行,下方紧跟value1、target行)

假设原表格结构是:

  • 日期单独占一行(如A1、A4)
  • 日期行下一行是value1数据行(Tom/Jim数值在对应列)
  • 日期行下两行是target数据行

先找最新日期所在的行号,再偏移行号提取对应数据:

  • 获取最新日期的行号:
    =MAX(FILTER(ROW(Sheet1!$A:$A), ISDATE(Sheet1!$A:$A)))
    
  • 提取Tom-value1(假设数值在C列,日期行+1行):
    =INDEX(Sheet1!$C:$C, MAX(FILTER(ROW(Sheet1!$A:$A), ISDATE(Sheet1!$A:$A)))+1)
    
  • 提取Jim-target(假设数值在E列,日期行+2行):
    =INDEX(Sheet1!$E:$E, MAX(FILTER(ROW(Sheet1!$A:$A), ISDATE(Sheet1!$A:$A)))+2)
    
    只需调整公式里的列号(如$C:$C/$E:$E)和偏移行数(如+1/+2),就能适配你的表格。

为什么之前用FILTER+MAX没成功?

大概率是没把「最新日期」和「数据类型」两个条件结合筛选,导致返回了多行数据,无法直接填充单个单元格。上面的公式都是先锁定最新日期,再精准匹配数据类型,确保只返回目标数值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 21:00:19