回复:请教:EXCEL中时间跨度计算公式
在EXCEL中计算2006.05.28至2007.03.25之间有多少个月,不足一月的时间以小数表示,结果显示为0.0月的计算公式,因计算量大,请大虾指教答案正确的分数可...
在EXCEL中计算2006.05.28至2007.03.25之间有多少个月,不足一月的时间以小数表示,结果显示为0.0月的计算公式,因计算量大,请大虾指教
答案正确的分数可以追加
A B C D
1 2006/05/28 2007/03/25
2
另请教在C1中计算整月部分,在D1中计算不足一月部分 展开
答案正确的分数可以追加
A B C D
1 2006/05/28 2007/03/25
2
另请教在C1中计算整月部分,在D1中计算不足一月部分 展开
展开全部
在Excel, 如要求1天都不能有误差, 任何计算公式, 同时涉及月和日的数量, 都是会非常长及复杂的
方法:
1.) 先用 DATEDIF 函数 计算完整月数:
=DATEDIF(A1,B1,"m")
2.) 如 B1的日是大于A1的日:
分子是 DAY(B1)-DAY(A1)
分母是 B1该月的总天数,公式是
=DAY(DATE(YEAR(B1),MONTH(B1)+1,1)-1)
小数值 是 分子/分母, 即
=(DAY(B1)-DAY(A1))/DAY(DATE(YEAR(B1),MONTH(B1)+1,1)-1)
3.) 如B1的日是少于A1的日:
分子是 DAY(B1)-DAY(A1) + B1 上一个月份的天数
分母是 B1 上一个月份的总天数,公式是
=DAY(DATE(YEAR(B1),MONTH(B1),1)-1)
小数值 是 分子/分母, 即
=(DAY(B1)-DAY(A1)+DAY(DATE(YEAR(B1),MONTH(B1),1)-1))/DAY(DATE(YEAR(B1),MONTH(B1),1)-1)
将以上三条公式合并, 便是楼主要的答案, 1天都不会偏差
=DATEDIF(A1,B1,"M")+IF(DAY(B1)>=DAY(A1),(DAY(B1)-DAY(A1))/DAY(DATE(YEAR(B1),MONTH(B1)+1,1)-1),IF(DAY(B1)<DAY(A1),(DAY(B1)-DAY(A1)+DAY(DATE(YEAR(B1),MONTH(B1),1)-1))/DAY(DATE(YEAR(B1),MONTH(B1),1)-1)))
=9.9(月) 或 9.892857143(月)
补充:
公式太长了, 我刚将公式简化如下:
=DATEDIF(A1,B1,"M")+DATEDIF(A1,B1,"MD")/DAY(DATE(YEAR(B1),MONTH(B1)+IF(DAY(B1)>=DAY(A1),1,0),1)-1)
由于考虑到很多网友的Excel都没有EOMONTH函数, 故没有将此函数加在我的答案上, 反正公式亦短不了多少
补充:
2.) C1 输入 =Datedif(A1,B1,”M”), 显示整月部分
D1输入 =Datedif(A1,B1,”MD”), 显示不足1月的整日部分
另再提供:
=Datedif(A1,B1,”Y”), 显示整年部分
=Datedif(A1,B1,”YM”), 显示不足1年的整月部分
=Datedif(A1,B1,”D”), 显示整日部分
方法:
1.) 先用 DATEDIF 函数 计算完整月数:
=DATEDIF(A1,B1,"m")
2.) 如 B1的日是大于A1的日:
分子是 DAY(B1)-DAY(A1)
分母是 B1该月的总天数,公式是
=DAY(DATE(YEAR(B1),MONTH(B1)+1,1)-1)
小数值 是 分子/分母, 即
=(DAY(B1)-DAY(A1))/DAY(DATE(YEAR(B1),MONTH(B1)+1,1)-1)
3.) 如B1的日是少于A1的日:
分子是 DAY(B1)-DAY(A1) + B1 上一个月份的天数
分母是 B1 上一个月份的总天数,公式是
=DAY(DATE(YEAR(B1),MONTH(B1),1)-1)
小数值 是 分子/分母, 即
=(DAY(B1)-DAY(A1)+DAY(DATE(YEAR(B1),MONTH(B1),1)-1))/DAY(DATE(YEAR(B1),MONTH(B1),1)-1)
将以上三条公式合并, 便是楼主要的答案, 1天都不会偏差
=DATEDIF(A1,B1,"M")+IF(DAY(B1)>=DAY(A1),(DAY(B1)-DAY(A1))/DAY(DATE(YEAR(B1),MONTH(B1)+1,1)-1),IF(DAY(B1)<DAY(A1),(DAY(B1)-DAY(A1)+DAY(DATE(YEAR(B1),MONTH(B1),1)-1))/DAY(DATE(YEAR(B1),MONTH(B1),1)-1)))
=9.9(月) 或 9.892857143(月)
补充:
公式太长了, 我刚将公式简化如下:
=DATEDIF(A1,B1,"M")+DATEDIF(A1,B1,"MD")/DAY(DATE(YEAR(B1),MONTH(B1)+IF(DAY(B1)>=DAY(A1),1,0),1)-1)
由于考虑到很多网友的Excel都没有EOMONTH函数, 故没有将此函数加在我的答案上, 反正公式亦短不了多少
补充:
2.) C1 输入 =Datedif(A1,B1,”M”), 显示整月部分
D1输入 =Datedif(A1,B1,”MD”), 显示不足1月的整日部分
另再提供:
=Datedif(A1,B1,”Y”), 显示整年部分
=Datedif(A1,B1,”YM”), 显示不足1年的整月部分
=Datedif(A1,B1,”D”), 显示整日部分
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询