基于每月固定30天规则计算日期间隔的Excel公式需求
Excel公式:按每月固定30天规则计算日期天数差
我来帮你搞定这个自定义日期计算的需求——要忽略Excel默认的实际天数逻辑,统一按每月30天来算两个日期之间的天数对不对?先直接给你能用的公式,再拆解说明:
需求回顾
你需要的是:起始日期10/4/2018到结束日期28/10/2018,按每月30天算得199天(而非Excel默认的201天),所有月份(包括2月)都固定按30天计。
公式实现(含起止日期)
假设起始日期在A1,结束日期在B1,直接用这个公式就能得到你要的结果:
=(YEAR(B1)-YEAR(A1))*360 + (MONTH(B1)-MONTH(A1))*30 + (DAY(B1)-DAY(A1)) + 1
验证你的示例
代入A1=10/4/2018,B1=28/10/2018:
- 年份差:
2018-2018=0→0*360=0 - 月份差:
10-4=6→6*30=180 - 日期差:
28-10=18 - 最后加1(包含起始日):
0+180+18+1=199,完全符合你的预期!
如果需要的是「间隔天数(不含起始日)」
要是你想算的是从起始日次日到结束日的天数,去掉公式末尾的+1就行:
=(YEAR(B1)-YEAR(A1))*360 + (MONTH(B1)-MONTH(A1))*30 + (DAY(B1)-DAY(A1))
这个结果是198天,对应你步骤里的「起始月剩余20天(11号到30号)+中间5个月150天+结束月28天」的总和。
公式逻辑拆解
这个公式的核心是把每个日期转换成「基于30天月的累计天数」:
- 每年按12×30=360天计算年份差带来的天数
- 每个月固定30天计算月份差带来的天数
- 加上日期本身的差值,最后按需决定是否加1(包含起始日)
不管实际月份是28天的2月还是31天的大月,这个公式都会严格遵循你要的「每月30天」规则,不会受实际日历影响。
内容的提问来源于stack exchange,提问作者Suma




