日期单元格的格式为:XXXX.XX-XXXX.XX
计算要求:本月入职算一个月工龄,上一年本月入职算1年1个月工龄,
Excel函数:
=if(mid(a1,14,2)>=mid(a1,6,2),mid(a1,9,4)-mid(a1,1,4),if(mod(mid(a1,14,2)+1-mid(a1,6,2),12)=0,mid(a1,9,4)-mid(a1,1,4),mid(a1,9,4)-mid(a1,1,4)-1))&“年”&if(mod(mid(a1,14,2)-mid(a1,6,2)+1,12)=0,0,if(mid(a1,14,2)-mid(a1,6,2)+1>0,mid(a1,14,2)-mid(a1,6,2)+1,mid(a1,14,2)-mid(a1,6,2)+13))&“个月”
伪代码分析:
年的计算
如果:末月>=初月
末年-初年
如果:mod(末月-初月+1,12)=0
末年-初年+1
如果:末月<初月-1
末年-初年-1
月的计算
如果:mod(末月-初月+1,12)=0
0
如果:末月-初月+1>0
末月-初月+1
如果:末月-初月+1<0
末月-初月+13
测试数据
1998.05-1998.05 计算结果应为0年1个月
1998.04-1998.05 计算结果应为0年2个月
1997.07-1998.05 计算结果应为0年11个月
1997.06-1998.05 计算结果应为1年0个月
1997.05-1998.05 计算结果应为1年1个月
1997.04-1998.05 计算结果应为1年2个月
1995.07-2021.12 计算结果应为26年6个月