用EXCEL函数中的DAYS360,如何计算工龄,例:张三2005/3/5到职於2010/11...
发布网友
发布时间:2024-01-02 16:15
我来回答
共3个回答
热心网友
时间:2024-03-16 17:58
直接上教程吧 发挥主观能动性 哈哈
用Excel函数计算年龄几法
在Excel中利用系统时间和出生年月计算年龄是人事管理、工资统计中经常性遇到的工作,笔者由于工作关系对此有些研究,现将有关计算方法介绍如下,供读者朋友们参考:
一、利用DAYS360、CEILING和TRUNC函数
1.函数简介
①DAYS360函数
它能按每年360天(每月30天)计算出两个日期间的天数,作为计算工龄的工具非常方便。它的语法为:
DAYS360(Start_date,end_date,method)
其中,Start_date是计算时间段的起始日期,end_date是计算时间段的结束日期,method用来指定计算方法的逻辑值(取FALSE或忽略使用美国方法,取TRUE则使用欧洲方法)。
另外,不同地方计算工龄的规则不尽相同。有的按“虚工龄”计算,如1998年6月1日至2000年12月31日工龄为3年;而有的则按“实工龄”计算,1998年6月1日至2000年12月31日工龄为2年;对此可使用CEILING函数或TRUNC函数处理。
②CEILING函数
它的语法为:
CEILING(number,significance)
其中number为待计算的数值,significance确定取整计算的倍数;该函数可将number沿着绝对值增大的方向,计算出一个最接近(或最小倍数significance)的整数。
③TRUNC函数
它的作用是将数字的指定部分截去,计算出一个最接近的整数或小数,语法为:
TRUNC(number,num_digits)
其中number为待计算的数值,num_digits用于指定小数部分的截取精度,取0时不保留小数、取1时保留一位小数(依次类推)。
2.计算公式
①“虚工龄”
根据计算要求和有关函数的特点,计算“虚工龄”的公式为:“=CEILING((DAYS360(A1,B1))/360,1)”。公式中的A1和B1分别存放工龄的起止日期,“DAYS360(A1,B1)”计算两个日期间的天数,(DAYS360(A1,B1))/360则按一年360天计算出工龄。由于工龄一般以年为单位,故用CEILING函数将上面的计算结果(沿绝对值增大的方向)取整,从而得出“虚工龄”。
②“实工龄”
计算“实工龄”的公式为:“=TRUNC((DAYS360(A1,B1))/360,0)”,公式中计算工龄天数的方法与上面的相同。TRUNC函数将 (DAYS360(A1,B1))/360的计算结果截去小数部分,从而得出“实工龄”。如果计算结果需要保留一位小数,只须将公式修改为 “=TRUNC((DAYS360(A1,B1))/360,1)”即可。
二、YEAR和RIGHT函数
1.函数简介
①YEAR函数
它可以计算出日期序列数(如两个日期相减的结果)所对应的年份数,其语法为:YEAR(Serial_ number),其中Serial_
number为待计算的日期序列数,既可以是一个具体的数值,也可以是一个表达式。
②RIGHT函数
该函数用来提取字符串最右边的若干个字符,因为YEAR函数的计算结果带有19等字样,必须利用RIGHT函数将它过滤掉。该函数的语法为:RIGHT(Text,Num_chars),其中Text是待计算的字符串,Num_chars用来指定从右向左提取的字符串长度(忽略时取1),例如“=RIGHT(“电脑爱好者”,3)”的计算结果为“爱好者”。
2.计算公式
由于YEAR和RIGHT函数的特点,它们组成的公式只能计算“实工龄”,具体形式为“=RIGHT(YEAR(A1-B1),2)”。公式中的A1和 B1分别存放工龄的截止和起始日期(正好与DAYS360函数相反),“YEAR(A1-B1)”计算出两个日期间的年份数,RIGHT(YEAR(A1-B1),2)则通过自右向左提取年份的后两位(工龄一般都是一位或两位数)。计算出来的一位数工龄前有个“0”,与习惯不太相符,这是上述公式的缺点。
三、N和INT函数
1.函数简介
①N函数
N函数属于信息函数之列,它可以完成单元格对象的转换。就是将数值转换成数字,日期转换成序列值,TRUE转换成1,其它对象转换成0。其语法为:N(value),其中的value是待转换的单元格对象,它可以是数值、日期等数据,也可以是一个表达式。
②INT函数
该函数可以将一个数值向下取整为最接近的整数。语法为:INT(number),其中number是待取整的一个实数或表达式,用它将计算结果取整为“实工龄”非常方便。
2.计算公式
由于INT函数的固有特点,用N和INT函数构成的公式只能计算“实工龄”,具体形式为“=INT((N(A1-B1))/365)”。公式中的A1和 B1分别存放工龄的截止和起始日期,“N(A1-B1)”计算工龄的序列数(其实就是工龄的天数),(N(A1-B1))/365将N(A1-B1)的计算结果转换为工龄,由于工龄数一般是小数,于是通过INT函数将它向下取最接近的整数。
Excel函数 计算实际年龄
1.
真实年龄=2007-出生的年份
=2007-YEAR(A1)
原理:
日期年份函数YEAR
语法:YEAR(serial_number)。
参数:serial_number为待计算年份的日期。
应用实例:“虚工龄”计算
所谓“虚工龄”就是从参加工作算起,每过一年就增加一年工龄,利用YEAR函数计算工龄的公式是“=YEAR(A1)-YEAR(B1)”。公式中的A1
和B1分别存放工龄的起止日期,YEAR(A1)和YEAR(B1)分别计算出两个日期对应的年份,相减后得出虚工龄。
2.
真实年龄=两个日期(出生、当前日期)之间年数
=datedif(A1,today(),"y")
真实年龄=总天数-出生年份 再除以 365 ,再四舍五入
=ROUND((TODAY()-A1)/365,0)
=ROUND((TODAY()-A1)/365.25,0)
函数原理:
TODAY函数
函数名称:TODAY
主要功能:给出系统日期。
使用格式:TODAY()
参数说明:该函数不需要参数。
应用举例:输入公式:=TODAY(),确认后即刻显示出系统日期和时间。如果系统日期和时间发生了改变,只要按一下F9功能键,即可让其随之改变。
特别提醒:显示出来的日期格式,可以通过单元格格式进行重新设置。
函数datedif
excel中有一个函数列表中没有的函数datedif()。DATEDIF函数,除Excel 2000中在帮助文档有描述外,其他版本的Excel在帮助文档中都没有
说明,并且在所有版本的函数向导中也都找不到此函数。但该函数在电子表格中确实存在,并且用来计算两个日期之间的天数、月数或年数很
方便。微软称,提供此函数是为了与Lotus 1-2-3兼容。
该函数的用法为“DATEDIF(Start_date,End_date,Unit)”,其中Start_date为一个日期,它代表时间段内的第一个日期或起始日期。End_date
为一个日期,它代表时间段内的最后一个日期或结束日期。Unit为所需信息的返回类型。
“Y”为时间段中的整年数,“M”为时间段中的整月数,“D”时间段中的天数。“MD”为Start_date与End_date日期中天数的差,可忽略日期
中的月和年。“YM”为Start_date与End_date日期中月数的差,可忽略日期中的日和年。“YD”为Start_date与End_date日期中天数的差,可
忽略日期中的年。比如,B2单元格中存放的是出生日期(输入年月日时,用斜线或短横线隔开),在C2单元格中输入“=datedif(B2,today
(),"y")”(C2单元格的格式为常规),按回车键后,C2单元格中的数值就是计算后的年龄。此函数在计算时,只有在两日期相差满12个月,才
算为一年,假如生日是2004年2月27日,今天是2005年2月28日,用此函数计算的年龄则为0岁,这样算出的年龄其实是最公平的。
=datedif(A1,today(),"y")这个公式也可以得到你要的结果。
如:
入厂日期-出生日期=实际年龄
=DATEDIF(B2,A1,"y")
3. 以9月份为界限
真实年龄=2007-出生年份+IF(月份>8,-1,0)
=2007-YEAR(A1)+IF(MONTH(A1)>8,-1,0)
原理:
对于9月前出生的学生,其周岁年龄的计算可直接用当年入学的年份减去学生出生的年份。
如:一个2004年入学,某年3月出生的学生的年龄为:周岁年龄=2004-出生年份。
但如果是在8月后出生的话,其周岁年龄就应比用公式计算出的年龄小1岁。
也就是说,学生的实际年龄不仅仅与学生的出生年份有关,还与学生出生的月份有关。
那么我们可以考虑用IF函数对月份作出判断,再与公式计算得的年龄累计,从而得出真实的年龄。
在IF函数中有三个参数,利用函数中的第一个参数进行判断,将判断后的返回值放在第二、第三个参数中,
并与公式中的周岁年龄累加计算,最后得出真实年龄。
在此使用IF函数(月份>8,-1,0)与公式合成:真实年龄=2004-出生年份+IF(月份>8,-1,0)。
将其输入到第一个学生的年龄栏内,其余的只需用鼠标左键拖动此单元格右下方的填充柄,向下到最后一个学生,
使其被复制使用,从而快速、准确地计算出全校所有新生的入学年龄。
热心网友
时间:2024-03-16 18:02
=int(DAYS360(F12,G12)/365)
这样可算出年数
=int((DAYS360(F12,G12)-INT(DAYS360(F12,G12)/365)*365)/30)
这样可以算出多出来的月数
但不是很准,您可以参考下
热心网友
时间:2024-03-16 17:57
建议你不用day360这个函数,用datedif这个函数,可以准确计算出来年月日,使用方法见百度百科。