求excel中某日期段中各月的天数

来源:百度知道 编辑:UC知道 时间:2024/05/29 00:39:47
求两个时间内每月所占的天数。

如A1为2008-3-5,A2为2008-6-15,
在此时间段内,2008年1、2月份有0天,3月有27天,4月有30天,5月有31天,6月有15天,7、8、9、10、11、12月份有0天。

每月一个公式或12个月一个通用的公式都可以。
最好还要考虑跨年度的情况。

1.A1=2008-3-5/B1=2008-6-15在一年内,用数字表示月份的情况
1 0
2 0
3 27
4 30
5 31
6 15
7 0
8 0
9 0
10 0
11 0
12 0

在D1:D12输入1-12,
在E1输入公式:
=IF(OR(D1<MONTH($A$1),D1>MONTH($A$2)),0,
DATEDIF(MAX($A$1,DATE(YEAR($A$1),D1,1)),
MIN($A$2+1,DATE(YEAR($A$1),D1+1,1)),"d"))
往下拖动即可得到结果

2.A1=2008-3-5/B1=2009-6-15不在一年内,用日期表示月份

2008-1-1 0
2008-2-1 0
2008-3-1 27
2008-4-1 30
2008-5-1 31
2008-6-1 30
2008-7-1 31
2008-8-1 31
2008-9-1 30
2008-10-1 31
2008-11-1 30
2008-12-1 31
2009-1-1 31
2009-2-1 28
2009-3-1 31
2009-4-1 30
2009-5-1 31
2009-6-1 15
2009-7-1 0
2009-8-1 0
2009-9-1 0
2009-10-1 0
2009-11-1 0
2009-12-1 0

在D1:D24输入日期,
在E1输入公式:
=IF(OR(D1<($A$1-DAY($A$1)),D1>$A$2),0,
DATEDIF(
MAX($A$1,DATE(YEAR(D1),MONTH(D1),1)),
MIN($A$2