EXCEL如何跨年统计一个日期段内每月的天数

显示出一个时间段,在该年该月有多少工作日天数,是跨年的,谢谢

c5公式参考:

=IF(DATE(2014+INT(ROW(A13)/12),MOD(ROW(A13),12)+1,1)<$C$2,"",IF(DATE(2014+INT(ROW(A12)/12),MOD(ROW(A12),12)+1,1)>$C$3,"",IF(DATE(2014+INT(ROW(A12)/12),MOD(ROW(A12),12)+1,1)=DATE(YEAR($C$2),MONTH($C$2),1),NETWORKDAYS(DATE(2014+INT(ROW(A12)/12),MOD(ROW(A12),12)+1,1),$C$2),IF(DATE(2014+INT(ROW(A12)/12),MOD(ROW(A12),12)+1,1)=DATE(YEAR($C$3),MONTH($C$3),1),NETWORKDAYS(DATE(2014+INT(ROW(A12)/12),MOD(ROW(A12),12)+1,1),$C$3),NETWORKDAYS(DATE(2014+INT(ROW(A12)/12),MOD(ROW(A12),12)+1,1),DATE(2014+INT(ROW(A13)/12),MOD(ROW(A13),12)+1,1)-1)))))

然后下拉实现。

追问

您好,2015年6月显示是4天?无论起始日期怎么变,有数的第一个月都是有问题的,例如

,麻烦升级一下公式,O(∩_∩)O谢谢!

追答

=IF(DATE(2014+INT(ROW(A13)/12),MOD(ROW(A13),12)+1,1)$C$3,"",IF(DATE(2014+INT(ROW(A12)/12),MOD(ROW(A12),12)+1,1)=DATE(YEAR($C$2),MONTH($C$2),1),NETWORKDAYS($C$2,DATE(2014+INT(ROW(A12)/12),MOD(ROW(A12),12)+2,1)-1),IF(DATE(2014+INT(ROW(A12)/12),MOD(ROW(A12),12)+1,1)=DATE(YEAR($C$3),MONTH($C$3),1),NETWORKDAYS(DATE(2014+INT(ROW(A12)/12),MOD(ROW(A12),12)+1,1),$C$3),NETWORKDAYS(DATE(2014+INT(ROW(A12)/12),MOD(ROW(A12),12)+1,1),DATE(2014+INT(ROW(A13)/12),MOD(ROW(A13),12)+1,1)-1)))))

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-06-14
方法

函数及参数说明
函数:DATEDIF(start_date,end_date,unit)
Start_date:为一个日期,它代表时间段内的第一个日期或起始日期。
End_date:为一个日期,它代表时间段内的最后一个日期或结束日期。
Unit:为所需信息的返回类型。
Unit取不同值的含意:
"Y"——时间段中的整年数。
"M"——时间段中的整月数。
"D"——时间段中的天数。
"YM"——start_date 与 end_date 日期中月数的差。忽略日期中的日和年。
"YD"——start_date 与 end_date 日期中天数的差。忽略日期中的年。
"MD"——start_date 与 end_date 日期中天数的差。忽略日期中的月和年。
2
举例说明。
开始日期:2012/12/21
结束日期:2014/2/26
在单元格C2中输入公式“=DATEDIF(A2,B2,"Y")”,注意不包含最外面的双引号;
在单元格D2中输入公式“=DATEDIF(A2,B2,"YM")”;
在单元格E2中输入公式“=DATEDIF(A2,B2,"MD")”;
在单元格F2中输入公式“=DATEDIF(A2,B2,"D")”。

3
结果说明。
2012/12/21与2014/2/26之间相隔1年、2个月、零5天,即14个月、零5天,总共相隔432天。本回答被网友采纳
相似回答