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

Google Sheets嵌套IF公式配置及多列日期逻辑判断求助

解决Google Sheets嵌套IF公式实现复杂日期逻辑的问题

我来帮你搞定这个Google Sheets的嵌套IF公式逻辑,根据你的需求,我整理了一个能覆盖所有规则的公式,还补充了一些边缘情况的处理,你可以直接在M列的第一个单元格(比如M1)输入,然后下拉填充:

=IF(OR(J1=DATE(1970,1,1), J1<DATE(2021,3,25)),
  IF(K1=DATE(1970,1,1),
    IF(L1<>"", L1, "Recent Activity"),
    IF(K1="", "Recent Activity", K1)
  ),
  IF(AND(J1<>DATE(1970,1,1), K1<>DATE(1970,1,1), K1<>"", L1<>""),
    MAX(J1, K1, L1),
    IF(OR(K1="", L1=""), "Recent Activity", MAX(J1, IF(K1=DATE(1970,1,1), J1, K1), IF(L1="", J1, L1)))
  )
)

公式逻辑拆解(对应你的需求)

我们一步步对应你给出的规则来解释:

1. 触发规则1的判断

外层第一个IF用OR(J1=DATE(1970,1,1), J1<DATE(2021,3,25))判断两种场景:

  • J列是从未登录的默认日期01/01/1970
  • J列的登录日期早于25/03/2021

规则1内的K列处理

  • 如果K列是无互动的默认日期01/01/1970:
    检查L列——如果L列有非空的活动日期,直接显示该日期;如果L列为空(代表最近90天有活动),则显示Recent Activity。
  • 如果K列是空值:
    直接返回Recent Activity(空值代表最近90天有互动)。
  • 补充:如果K列存在非默认、非空的历史互动日期(比如2020年的日期),公式会直接显示该日期(你可以根据实际需求调整这部分)。

2. 规则2及其他场景处理

当J列不满足规则1(即登录日期正常且不早于25/03/2021):

  • 首先判断三列是否均为有效日期(J是正常登录日期、K是历史互动日期、L是历史活动日期):
    用AND(...)验证后,用MAX(J1, K1, L1)取三个日期里的最新值。
  • 边缘情况补充:如果K列是空(最近90天互动)或L列是空(最近90天活动),直接返回Recent Activity;如果K列是默认无互动日期,就比较J和L的最新日期,确保所有场景都被覆盖。

使用注意事项

  • 确保J、K、L列的日期是标准日期格式,而非文本格式,否则DATE()和MAX()可能无法正常工作。你可以用ISDATE(J1)验证格式是否正确。
  • DATE(2021,3,25)对应你提到的25/03/2021,因为Google Sheets的DATE()函数参数顺序是「年、月、日」,这个是正确的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 21:47:29