Excel 2010中DAY函数返回错误结果,日期计算不符预期求助
Excel日期加4个月后取当月最后一天的公式修正
问题根源
你使用的DATE(YEAR(原日期), MONTH(原日期)+4, DAY(原日期))这类基础函数组合,会因为原日期所在月份的天数多于目标月份(比如5月有31天,9月只有30天),导致Excel自动将溢出的日期调整到下一月,从而出现2024年10月1日的结果。
修正方案
方案1:使用EOMONTH函数(Excel 2010兼容)
直接利用专门处理月末日期的函数,公式如下:
=EOMONTH(原日期单元格, 4)
该函数的作用是返回指定日期往前/往后N个月的当月最后一天,自动处理不同月份的天数差异,直接得到2024年9月30日的预期结果。
方案2:调整DATE函数的DAY参数
如果坚持使用基础函数组合,可通过DATE函数的特性(DAY为0时返回上月最后一天)来实现:
=DATE(YEAR(原日期), MONTH(原日期)+4+1, 0)
原理:给目标月份加1后,设置DAY为0,即可得到原日期加4个月后的当月最后一天。
内容的提问来源于stack exchange,提问作者Enfan Riandi
相关产品推荐
相关产品推荐

