回复:请教: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中计算不足一月部分
展开
 我来答
klndicky
2007-06-01 · TA获得超过666个赞
知道小有建树答主
回答量:381
采纳率:100%
帮助的人:0
展开全部
在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”), 显示整日部分
宿锋LK
2007-05-29 · TA获得超过1.9万个赞
知道大有可为答主
回答量:3708
采纳率:50%
帮助的人:4181万
展开全部
=DATEDIF(A1,B1)/30
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
00求救
2007-06-02
知道答主
回答量:30
采纳率:0%
帮助的人:0
展开全部
楼上说的很详细了!好好看看吧!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式