Salesforce报表如何创建公式列计算两个日期间隔月数
Salesforce报表计算两日期整月间隔的实现方法
直接可用的公式
新建报表公式列时,将返回值类型设为数值,小数位数设为0,插入对应日期字段后套用以下公式即可,计算结果和Excel DATEDIF(开始日期,结束日期,"m") 完全一致:
IF( DAY(Estimated_End_Date__c) < DAY(Estimated_Start_Date__c), (YEAR(Estimated_End_Date__c) - YEAR(Estimated_Start_Date__c))*12 + (MONTH(Estimated_End_Date__c) - MONTH(Estimated_Start_Date__c)) - 1, (YEAR(Estimated_End_Date__c) - YEAR(Estimated_Start_Date__c))*12 + (MONTH(Estimated_End_Date__c) - MONTH(Estimated_Start_Date__c)) )
注意:公式中的字段名请替换为你当前Org中对应字段的实际API名,最稳妥的方式是在公式编辑器中通过「插入字段」按钮选择
Estimated Start Date和Estimated End Date两个字段,避免手动输错API名。
避坑说明
不要直接使用Salesforce原生的MONTHS_BETWEEN()函数:该函数会按实际天数占比返回带小数的月份差值(例如2024-01-15到2024-02-14会返回0.97),和DATEDIF统计完整自然月、不满整月舍去零头的逻辑不匹配。
计算逻辑验证
- 开始日期2024-01-15、结束日期2024-02-14:返回0(差1天满1整月)
- 开始日期2024-01-15、结束日期2024-02-15:返回1(刚好满1整月)
- 开始日期2023-03-31、结束日期2024-02-29:返回10(月末日期自动适配,无计算偏差)
内容的提问来源于stack exchange,提问作者PipRon7
相关产品推荐
相关产品推荐

