Google Sheets如何根据起始日期和月间隔计算未来最近动态日期
Google Sheets 最近未来到期日期计算公式
单元格约定
A1:存放起始日期B1:存放固定间隔月数(正整数)C1:存放计算得到的目标未来日期
通用公式
直接将以下公式粘贴到 C1 单元格即可使用:
=IF(A1 >= TODAY(), A1, EDATE(A1, CEILING(DATEDIF(A1, TODAY(), "M") + (DAY(TODAY()) > DAY(A1)), B1)))
公式逻辑说明
- 首先判断如果起始日期本身就大于等于当前日期,直接返回起始日期,符合需求中“大于等于当前日期”的要求
DATEDIF(A1, TODAY(), "M")计算起始日期到当前日期的整月差值- 补充
(DAY(TODAY()) > DAY(A1))校验日精度:如果当前日期的日数大于起始日期的日数,说明当前整月差值计算少算1个月,需要补加 CEILING函数将计算得到的总月差值向上取整到间隔月数的最小整数倍,保证得到的结果是间隔的整数倍且不会早于当前日期- 最后用
EDATE函数在起始日期基础上叠加计算得到的整数倍间隔月数,得到最终结果
示例验证(当前日期假设为2021-12-01)
- 起始日期
2021-02-07,间隔5个月:返回结果2021-12-07,符合预期 - 起始日期
2021-09-07,间隔3个月:返回结果2021-12-07,符合预期 - 起始日期
2021-09-07,间隔12个月:返回结果2022-09-07,你给出的预期2022-12-07若为笔误,调整对应间隔参数即可匹配需求 - 起始日期
2021-12-07,间隔12个月:返回结果2021-12-07,符合预期
内容的提问来源于stack exchange,提问作者BLuM
相关产品推荐
相关产品推荐

