送人玫瑰,手有余香,请将文章分享给更多朋友
动手操作是熟练掌握EXCEL的最快捷途径!
【置顶公众号】或者【设为星标】及时接收更新不迷路
小伙伴们好,今天来和大家分享一道日期题目。我们经常会遇到这样的场景,要找出两个日期之间有多少年多少月多少天,这种情况下可千万不要掰指头啊!
原题目是这样子的:
这类题目该怎么做呢?
在EXCEL的日期函数中有一个函数将DATEDIF函数,它专门来求两个日期的间隔。其第二参数决定了间隔是以年、月、日何种方式。
在单元格D2中输入公式“=TEXT(SUM(DATEDIF(A2,B2,{"y","ym"})*10^{2,0}),"0年0个月")&MOD(EOMONTH(A2,0)-A2+DAY(B2),31)&"天"”,确认后向下拖曳即可。
思路:
DATEDIF(A2,B2,{"y","ym"})部分,求两个日期的间隔。其中第二参数{"y","ym"},“y”表示整年数,“ym”的含义是,忽略年数和天数,仅考虑月份差。其实还有一个“md”,含义是忽略年数和月份,仅考虑日期差。但是这个算法有问题,这里不能使用
SUM(DATEDIF(A2,B2,{"y","ym"})*10^{2,0})部分,年份差和月份差求出后给它们加权,并用SUM函数求和
求和后的结果利用TEXT函数将其转换为"0年0个月"的格式。接下来计算天数的差
天数差也很简单。EOMONTH 函数计算比当前月前或后几个月的最后一天。EOMONTH(A2,0)部分返回当月的最后一天。减去起始日期后就是起始月剩余的天数;DAY(B2)部分就是返回截止日期的天数
MOD(EOMONTH(A2,0)-A2+DAY(B2),31)部分,由于起始日期和截止日期有可能是同一天,例如源数据中第8行,因此用MOD函数对31求余
最后用连接符将三部分连接在一起即可
-END-
联系客服