| |
| 当前位置:华人英才网 > 干部调动(异地入户) > 正文 |
| 员工工龄的计算 |
|
员工工龄的计算
“工龄”是人事管理和劳资管理中经常涉及到的一项重要内容,员工的职务升迁、薪资和各种福利想必都与之有关吧!这个“东东”可千万不能算错,不然会有人来找麻烦哟!
若只需要大致计算出几名员工的工龄或许按按计算器就能搞定了,但若需要准确计算出成百上千名员工的工龄,恐怕就……没关系,别忘了你手头还有强大的Excel!
工龄好算吗
在Excel里,将两个日期值相减,即可得出其中间隔的天数(以序列数表示),但这个数字并不是我们所需要的最终结果。你能说,“XXX的工龄是3721天”吗?当然不行。所以,我们需要的是“XX年XX月XX天”这样的格式,而不是单纯的“XXXX天”。
既然要求已经提出来了,那么该如何进行计算呢?有朋友可能要说了,这还不简单?把前面得到的天数除以365,不就是年数了?其余数除以30,不就是月数了?再剩下的,就是天数嘛。当然,这样的算法可以大致计算出我们需要的数字,但不准确。因为,一年并不都是365天,一个月也并不都是30天,所以这种算法存在着相当的误差,而在某些特殊的日期下,误差可能相差一个月!不信的话自己试试。
利用公式算工龄
想要算得既快又准,在Excel里还真不是三五个公式就能解决的,以至于有了下面这个自定义的公式Elapsed( )。源代码(加注释)已在文末附上,了解VBA的朋友可以看看,不知道VBA的朋友大可按说明“复制”—“粘贴”后,其他的事放到脑后去好了。下面先来讲一讲它的用法。
Elapsed(StartDate,EndDate,ReturnType)带有三个参数:依次为开始日期、结束日期和返回类型。大家只需在使用时依次给出相应参数值,函数就会自动计算出以年、月、天表示的两日期间间隔的天数。ReturnType有三个参选项,“1”表示返回年数,“2”表示月数,“3”表示天数,因为每次只能选择其中一种参选项,所以别指望Elapsed( )一次就为你干完所有的活儿!
工龄的计算方法
介绍完Elapsed( ),我们再来看看具体的计算方法吧。
假设已有一工作表中(见图1)记录了各员工的入公司日期,需要计算截止今日时的工龄期,我们可以先用公式计算今日的日期值,这样的话到了明天也就不必重算了。我们往C2单元格中输入公式“=TODAY( )”,这是取计算机的当前系统日期值。
假设各员工的入公司日期都记录在C列中,则我们通过D、E、F三列来分别计算工龄的年数、月数和天数。以第6行的“张三”为例,D6、E6、F6中的公式分别为“=Elapsed($C6,$C$2,1)”、“=Elapsed($C6,$C$2,2)”、“=Elapsed($C6,$C$2,3)”。接着在G6中用公式将上面计算的结果转换成易于理解的文本形式。这个公式就可以自由发挥了,您可以按自己的喜好进行设置。如:“=IF(D6=0,IF(E6=0,″未满一个月″,E6&″个月″),IF(E6=0,D6&″年整″,D6&″年″&″零″&E6&″个月″))”——这个公式舍弃了不常用到的“天数”,并对0年或0个月这样较特殊的计算结果进行了更人性化的转换。
最后要做的,就是将D6、E6、F6、G6抹黑,往下拖曳,进行公式的复制。
到此,所有员工的工龄全部都计算完毕了! |
|
|