SharePoint列表计算含年份的两个日期总月份差值求助
你之前使用的DATEDIF函数"ym"参数本身设计为仅返回两个日期不满1年的剩余月份差值,默认忽略年份差,因此无法满足统计总月份的需求。
正确计算公式
直接使用如下公式即可得到包含年份换算的总月份数:
=DATEDIF([StartDate],[EndDate],"y")*12 + DATEDIF([StartDate],[EndDate],"ym")
公式说明
DATEDIF([StartDate],[EndDate],"y"):计算两个日期之间的完整年份差值,乘以12换算为月份DATEDIF([StartDate],[EndDate],"ym"):计算两个日期不满1年的剩余月份差值- 两部分相加即为总月份数
示例验证
以你给出的日期为例:StartDate = 1/1/2019,EndDate = 2/1/2021
完整年份差为2年,换算为2*12=24个月
剩余月份差为1个月
总月份为24+1=25,完全符合预期结果
异常容错版本
如果需要处理日期为空、结束日期早于开始日期的异常场景,可以使用带判断的公式:
=IF(OR(ISBLANK([StartDate]),ISBLANK([EndDate]),[EndDate]<[StartDate]),0,DATEDIF([StartDate],[EndDate],"y")*12 + DATEDIF([StartDate],[EndDate],"ym"))
该公式会在异常场景下返回0,避免计算报错。
内容的提问来源于stack exchange,提问作者JAAS CR
相关产品推荐
相关产品推荐

