发布网友 发布时间:2022-04-24 04:49
共2个回答
热心网友 时间:2023-05-19 07:07
大概思路分两步走:
用函数DATEDIF分别计算两个日期间的相差的整年数、整月数、整天数
DATEDIF函数是一个隐藏函数
语法DATEDIF(start_date,end_date,unit)
start_date表示的是起始时间。
end_date表示的是结束时间。
unit表示的是返回的时间代码,是天、月、年等
注意:结束日期必须大于起始日期
unit参数含义如下:
Y" 时间段中的整年数。
M" 时间段中的整月数。
D" 时间段中的天数。
MD" start_date 与 end_date 日期中天数的差。忽略日期中的月和年。
YM" start_date 与 end_date 日期中月数的差。忽略日期中的日 和年。
YD" start_date 与 end_date 日期中天数的差。忽略日期中的年
2. 起始时间是给定的,用if函数判断状态是离职还是在职,离职状态的结束时间也是给定的,在职的结束时间是today
根据I列“离职”这个栏位是否有时间,如果有时间说明是离职状态,返回离职时间,否则为在职状态,返回today,判断状态函数: IF(I3<>"",I3,TODAY())
最终公式如下:
=DATEDIF(G3,IF(I3<>"",I3,TODAY()),"y")&"年"&DATEDIF(G3,IF(I3<>"",I3,TODAY()),"ym")&"月"&DATEDIF(G3,IF(I3<>"",I3,TODAY()),"md")&"日"
效果如图:
追问亲,能否帮我看下,我另外发的帖子热心网友 时间:2023-05-19 07:08
如果有离职时间的上面不显示司龄:
K3=IF(I3="",DATEDIF(G3,TODAY()+1,"Y")&"年"&DATEDIF(G3,TODAY()+1,"YM")&"月"&DATEDIF(G3,TODAY()+1,"MD")&"天","")
如果有离职时间的上面也需要显示司龄:
K3=DATEDIF(G3,MIN(I3,TODAY()+1),"Y")&"年"&DATEDIF(G3,MIN(I3,TODAY()+1),"YM")&"月"&DATEDIF(G3,MIN(I3,TODAY()+1),"MD")&"天"
公式下拉