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

如何修改Google Sheets公式,仅统计多日期单元格中符合条件的最大日期

解决方案:统计每个单元格最大日期符合条件的数量

基础版公式(包含单日期+多日期单元格,仅统计每个单元格的最大日期是否达标)

=SUM(ARRAYFORMULA(
  --(IFERROR(
    BYROW(IMPORTRANGE("[sheet id]","'Oct 2022'!$O$5:$O$200"),
      LAMBDA(cell,
        MAX(IFERROR(DATEVALUE(SPLIT(REGEXREPLACE(cell,"[,\s]+",CHAR(10)),CHAR(10))))
      )
    ) >= DATE(2023,7,1)
  ))
)

核心逻辑拆解

  • BYROW + LAMBDA:针对每个单元格独立处理,确保多日期单元格的日期不会和其他单元格混淆,这是和原公式全局拆分的核心区别
  • REGEXREPLACE(cell,"[,\s]+",CHAR(10)):统一把单元格内的逗号、空格替换为换行符,保证拆分规则一致
  • DATEVALUE + SPLIT:将拆分后的日期文本转为可计算的日期值,IFERROR处理无效文本
  • MAX(...):提取当前单元格内所有日期的最大值
  • --(...) >= DATE(2023,7,1):将"最大值是否达标"的布尔结果转为1/0,方便SUM统计总数

进阶版公式(仅统计多日期单元格的最大日期是否达标)

如果需要排除单日期单元格,只针对包含多个日期的单元格统计,可添加多日期判断:

=SUM(ARRAYFORMULA(
  --(IFERROR(
    BYROW(IMPORTRANGE("[sheet id]","'Oct 2022'!$O$5:$O$200"),
      LAMBDA(cell,
        IF(REGEXMATCH(cell,"[,\s]"),
          MAX(IFERROR(DATEVALUE(SPLIT(REGEXREPLACE(cell,"[,\s]+",CHAR(10)),CHAR(10)))),
          NA()
        )
      )
    ) >= DATE(2023,7,1)
  ))
)
  • REGEXMATCH(cell,"[,\s]"):通过识别单元格内的逗号/空格,判断是否为多日期单元格,单日期单元格返回NA()不参与统计

内容的提问来源于stack exchange,提问作者David J. Myers

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 06:02:44