发布网友
共5个回答
热心网友
应该增加1列,参加工作日期(假设放在A列),假设入职日期在B列,均为日期格式,
则入职前工龄单元格公式:=TEXT(DATE(YEAR(B3)-YEAR(A3),MONTH(B3)-MONTH(A3),DAY(B3)-DAY(A3)),"y年m月d天")
总工龄单元格公式:=TEXT(DATE(YEAR(TODAY())-YEAR(A3),MONTH(TODAY())-MONTH(A3),DAY(TODAY())-DAY(A3)),"y年m月d天")
否则把入职日期和入职前工龄作为已知条件倒推参加工作日期再代入求总工龄,公式太麻烦了追问入职前的工龄是累积工作的工龄,有的人入职前有四五份工作经历,而且有的中间有空窗期,空窗期是不算在工龄中的,D3是我手算出的入职前累计工龄。如果就用年月的形式没有天这样是不是好算一些呢?
追答
详见附件。这种算法中第一年是按366天算的,所以有时会显得有1天差异。
热心网友
可以是可以,但是比较麻烦,还有D、F列除了年月日齐全外,有没有月日、年日、或都只有日的形式。
最不好算的是最后的天数,31、30天以上怎么向前进位。
热心网友
=TEXT(SUBSTITUTE(D3,"天","日")+SUBSTITUTE(F3,"天","日"),"yy年m月d天")
热心网友
F列的这样的格式,很麻烦的。
热心网友
=(LEFT(D3,FIND("年",D3,1)-1)*1+LEFT(F3,FIND("年",F3,1)-1)*1+INT((MID(D3,FIND("年",D3,1)+1,FIND("月",D3,1)-FIND("年",D3,1)-1)*1+MID(F3,FIND("年",F3,1)+1,FIND("月",F3,1)-FIND("年",F3,1)-1)*1+INT((MID(D3,FIND("月",D3,1)+1,LEN(D3)-FIND("月",D3,1)-1)*1+MID(F3,FIND("月",F3,1)+1,LEN(F3)-FIND("月",F3,1)-1)*1)/30))/12))&"年"&(MOD((MID(D3,FIND("年",D3,1)+1,FIND("月",D3,1)-FIND("年",D3,1)-1)*1+MID(F3,FIND("年",F3,1)+1,FIND("月",F3,1)-FIND("年",F3,1)-1)*1+INT((MID(D3,FIND("月",D3,1)+1,LEN(D3)-FIND("月",D3,1)-1)*1+MID(F3,FIND("月",F3,1)+1,LEN(F3)-FIND("月",F3,1)-1)*1)/30)),12))&"月"&MOD((MID(D3,FIND("月",D3,1)+1,LEN(D3)-FIND("月",D3,1)-1)*1+MID(F3,FIND("月",F3,1)+1,LEN(F3)-FIND("月",F3,1)-1)*1),30)&"天"