求助:Excel中计算两个日期所跨日历季度数量的公式
计算两个日期实际跨越的日历季度数量的Excel公式
要计算两个日期实际覆盖的日历季度总数(包含起始和结束日期所在的季度),可以使用以下两种通用公式:
公式1:基于季度编号计算
=ROUNDUP((YEAR(EndDate)*4+ROUNDUP(MONTH(EndDate)/3,0)) - (YEAR(StartDate)*4+ROUNDUP(MONTH(StartDate)/3,0)) +1,0)
逻辑说明:
- 将每个日期转换为「年度季度编号」:比如2023年Q3对应
2023*4+3=8095,2024年Q3对应2024*4+3=8099 - 用结束季度编号减去起始季度编号,再加1(包含两端季度),得到最终跨越的季度数
示例验证:
当StartDate=2023/7/17,EndDate=2024/7/9时:
- 起始季度编号:
2023*4+ROUNDUP(7/3,0)=8095 - 结束季度编号:
2024*4+ROUNDUP(7/3,0)=8099 - 计算结果:
8099-8095+1=5,与预期一致
公式2:基于季度起始日期计算
=DATEDIF(DATE(YEAR(StartDate),INT((MONTH(StartDate)-1)/3)*3+1,1),DATE(YEAR(EndDate),INT((MONTH(EndDate)-1)/3)*3+1,1),"m")/3 +1
逻辑说明:
DATE(YEAR(StartDate),INT((MONTH(StartDate)-1)/3)*3+1,1):获取起始日期所在季度的第一天(比如7月17日对应2023/7/1)DATE(YEAR(EndDate),INT((MONTH(EndDate)-1)/3)*3+1,1):获取结束日期所在季度的第一天(比如7月9日对应2024/7/1)- 用
DATEDIF计算两个季度起始日的月份差,除以3得到间隔的季度数,再加1(包含两端季度)
示例验证:
当StartDate=2023/7/17,EndDate=2024/7/9时:
- 季度起始日分别为2023/7/1和2024/7/1,月份差为12
- 计算结果:
12/3+1=5,与预期一致
边界情况测试:
若起始和结束日期在同一季度(比如2023/7/1到2023/9/30),两个公式都会返回1,符合预期。
内容的提问来源于stack exchange,提问作者Sebbie
相关产品推荐
相关产品推荐

