You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

求Excel公式:始终显示原到期日后4天且始终晚于当前日期

解决Excel动态递推到期日的公式方案

我完全理解你的需求:需要一个能自动调整的日期公式——以原到期日后4天为基准,确保最终显示的日期永远晚于当前日期;每当当前日期超过这个基准日期时,就自动往后递推4天,循环往复。

核心公式

假设你的原到期日存放在单元格 A1,直接用这个公式就能实现需求:

=A1+4+CEILING(MAX(0,TODAY()-(A1+4)),4)

公式逻辑拆解(结合你的例子验证)

咱们一步步把这个公式拆明白,对应你给出的场景:

  • A1+4:先算出原到期日后4天的基础日期(比如原到期日2018/3/1,得到2018/3/5)。
  • TODAY()-(A1+4):计算当前日期和基础日期的时间差。如果当前日期早于基础日期,结果是负数;如果晚于,结果是正数。
  • MAX(0, ...):过滤掉负数差值——如果基础日期还没到,咱们不需要调整,直接用基础日期就行。
  • CEILING(...,4):把差值向上取整到最接近的4的倍数。这一步是计算需要往后递推多少个4天周期(比如当前日期2018/4/4和基础日期2018/3/5的差值是30天,CEILING(30,4)得到32,也就是需要加8个4天)。
  • 最后叠加基础日期:得到最终的、始终晚于当前日期的递推日期。

场景测试验证

用你给出的例子实际跑一遍:

  1. 当前日期2018/4/4,原到期日2018/3/1:
    基础日期=2018/3/1+4=2018/3/5
    差值=2018/4/4 - 2018/3/5=30天
    取整后差值=32
    最终日期=2018/3/5+32=2018/4/6 ✔️
  2. 当前日期超过2018/4/6(比如2018/4/7):
    差值=2018/4/7 - 2018/3/5=33天
    取整后差值=36
    最终日期=2018/3/5+36=2018/4/10 ✔️
  3. 当前日期早于基础日期(比如2018/3/3):
    差值=2018/3/3 - 2018/3/5=-2,MAX(0,-2)得到0
    最终日期=2018/3/5+0=2018/3/5 ✔️(这个日期晚于当前的2018/3/3,符合要求)

小提示

  • 如果你的原到期日在其他单元格,把公式里的A1替换成对应的单元格引用就行。
  • 公式会随着TODAY()自动更新,每天打开Excel时都会计算最新的符合要求的日期。

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

火山引擎 最新活动