收藏 分享(赏)

如何用EXCEL计算工龄的公式(以年为单位).doc

上传人:HR专家 文档编号:5244187 上传时间:2019-02-13 格式:DOC 页数:6 大小:26KB
下载 相关 举报
如何用EXCEL计算工龄的公式(以年为单位).doc_第1页
第1页 / 共6页
如何用EXCEL计算工龄的公式(以年为单位).doc_第2页
第2页 / 共6页
如何用EXCEL计算工龄的公式(以年为单位).doc_第3页
第3页 / 共6页
如何用EXCEL计算工龄的公式(以年为单位).doc_第4页
第4页 / 共6页
如何用EXCEL计算工龄的公式(以年为单位).doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、如何用 EXCEL 计算工龄的公式(以年为单位)单位现在按照工龄计算工资,请问在 EXCEL 中怎么做公式?以现在时间算起,也就是说现是 2008 年 01 月,那么工龄的计算方法就需要从 1 月算起?F3 列为参加工作时间,G3 为要得出的工龄。1-设 A1 是入职日期,B1 是工龄计算日期, C1 是 年,D1 是半年,E1 是加薪总额 。 在 C2 输入:=IF(OR(A2=“,B2=“),“,DATEDIF(A2,B2,“y“) 在 D2 输入:=IF(OR(A2=“,B2=“),“,DATEDIF(A2,B2,“ym“)在 E2 输入: =C2*30+IF(D25,10,0) 只要在

2、 A1 和 B1 输入入职日期 和工龄计算日期就可以了。 2-工龄 是人事管理和劳资管理中经常涉及到的一项重要内容,员工的升迁、薪资和各种福利想必都与之有关吧!这个东东可千万不能算错,不然会有人来找麻烦哟!若只需要大致计算出几名员工的工龄或许按按计算器就能搞定了,但若需要准确计算出成百上千名员工的工龄,恐怕就没关系,别忘了你手头还有强大的Excel!在 Excel 里,将两个日期值相减,即可得出其中间隔的天数(以序列数表示) ,但这个数字并不是我们所需要的最终结果。你能说,XXX 的工龄是 3721 天吗?当然不行。所以,我们需要的是XX 年 XX 月XX 天这样的格式,而不是单纯的XXXX

3、天。既然要求已经提出来了,那么该如何进行计算呢?有朋友可能要说了,这还不简单?把前面得到的天数除以365,不就是年数了?其余数除以 30,不就是月数了?再剩下的,就是天数嘛。当然,这样的算法可以大致计算出我们需要的数字,但不准确。因为,一年并不都是 365 天,一个月也并不都是 30 天,所以这种算法存在着相当的误差,而在某些特殊的日期下,误差可能相差一个月!不信的话自己试试。想要算得既快又准,在 Excel 里还真不是三五个公式就能解决的,以至于有了下面这个自定义的公式 Elapsed() 。源代码(已加注释)已在文末附上,了解 VBA 的朋友可以看看,不知道 VBA 的朋友大可按说明复制粘

4、贴后,放到脑后去好了。下面先来讲一讲它的用法。Elapsed(StartDate , EndDate,ReturnType)带有三个参数:依次为开始日期,结束日期和返回类型。大家只需在使用时依次给出相应参数值,函数就会自动计算出以年,月,天表示的两日期间间隔的天数。ReturnType 有三个参选项,1 表示返回年数,2 表示月数,3 表示天数,因为每次只能选择其中一种参选项,所以别指望 Elapsed()一次就为你干完所有的活儿!介绍完 Elapsed() ,我们再来看看具体的计算方法吧:假设已有一工作表中记录了各员工的入公司日期,需要计算截止今日时的工龄期,我们可以先用公式计算今日的日期值

5、,这样的话到了明天也就不必重算了。我们往 C2单元格中输入公式=TODAY(),这是取计算机的当前系统日期值。假设各员工的入公司日期都记录在 C 列中,则我们通过 D、E、F 三列来分别计算工龄的年数、月数和天数。以第六行的张三 为例, 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,

6、D6“年整“,D6“年“零“E6“个月“)这个公式舍弃了不常用到的天数 ,并对 0 年或 0 个月这样较特殊的计算结果进行了更人性化的转换。 最后要做的,就是将 D6、E6、F6、G6 抹黑,往下拖曳,进行公式的复制。到此,所有员工的工龄全部都计算完毕了!附代码如下:Function Elapsed(StartDate As Date, EndDate As Date, ReturnType As Integer)Dim StartYear As Integer 定义变量用以参数中开始日期的计算Dim StartMonth As IntegerDim StartDay As IntegerDi

7、m EndYear As Integer 定义变量用以参数中结束日期的计算Dim EndMonth As IntegerDim EndDay As IntegerStartYear = Year(StartDate) 从参数中取得开始日期和结束日期的年数,月数,天数StartMonth = Month(StartDate)StartDay = Day(StartDate)EndYear = Year(EndDate)EndMonth = Month(EndDate)EndDay = Day(EndDate)If EndDay StartDay Then 如果结束日期参数中的天数小于开始日期参数

8、的天数,则EndDay = EndDay + (DateSerial(EndYear, EndMonth + 1, EndDay) _- DateSerial(EndYear, EndMonth, EndDay)EndMonth = EndMonth - 1 从月数中借 1 后再进行减运算,从而得到相差天数End IfIf EndMonth StartMonth Then 如果结束日期参数中的月数小于开始日期参数的月数,则EndMonth = EndMonth + 12EndYear = EndYear - 1 从年数中借 1 后再进行减运算,从而得到相差月数End IfSelect Case

9、 ReturnType 如果没有以上特殊情况,则直接进行相减的运算Case 1 返回年数Elapsed = EndYear - StartYearCase 2 返回月数Elapsed = EndMonth - StartMonthCase 3 返回天数Elapsed = EndDay - StartDayEnd SelectEnd Function 在你的工作簿中打开 VBA 编辑器,新建一个模块,将以上代码输入即可! 点击此处以下载示范工作簿!17Kp;“零“E6“个月“)这个公式舍弃了不常用到的 天数,并对 0 年或 0 个月这样较特殊的计算结果进行了更人性化的转换。 最后要做的,就是将D6、E6 、F6 、G6 抹黑,往下拖曳,进行公式的复制。到此,所有员工的工龄全部都计算完毕了!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 实用文档 > 办公软件应用

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报