解锁HR界的秘密武器:掌握Excel必备公式提升效率
亲爱的小伙伴们,大家好!今天,我想和大家分享一些在人事日常工作中非常实用的经典公式。这些公式简洁明了,即使你不完全理解其背后的逻辑,也能轻松套用。我已经为大家准备了详细的公式及解释,希望能帮助大家更好地理解和使用这些公式。
01
性别提取
A列为身份证号码,在B2输入公式:=IF(MOD(MID(A2,17,1),2),"男","女"),即可得到性别信息。
公式解释MID(A2,17,1): 从单元格 A2 中提取身份证号的倒数第二位数字。MID 函数用于从指定文本中提取字符,第一个参数是要提取的文本(这里是A2 单元格中的身份证号),第二个参数是开始提取的位置(这里是从第 17 位开始,因为身份证号一般是 18 位),第三个参数是要提取的字符数(这里是 1 个字符)。
MOD(MID(A2,17,1),2): 这一部分使用 MOD 函数计算提取的数字除以 2 的余数。如果这个余数是0,表示这个数字是偶数,否则是奇数。这里是为了判断性别,身份证号倒数第二位奇数表示男性,偶数表示女性。
IF(MOD(MID(A2,17,1),2),"男","女"): IF 函数会根据 MOD 函数的结果来返回相应的性别文字。如果提取的数字是奇数(MOD 结果为非零),则返回"男";如果提取的数字是偶数(MOD 结果为零),则返回"女"。
02
提取出生年月日
根据A列的身份证号码,在C2输入公式:=TEXT(MID(A2,7,8),"00-00-00")
公式解释:TEXT(MID(A2,7,8),"00-00-00"): 这是一个 TEXT 函数,它将MID函数提取的出生年月日以指定的格式进行显示。在这里,格式字符串"00-00-00"表示日期应该以两位数的年、月、日的形式显示,中间用短横线分隔。
03
计算年龄
A列为身份证号码
=DATEDIF(TEXT(MID(A2,7,8),"00-00-00"),TODAY(),"Y")
公式解释:DATEDIF(TEXT(MID(A2,7,8),"00-00-00"),TODAY(),"Y"): DATEDIF函数用于计算两个日期之间的时间间隔。第一个参数是起始日期,即提取的出生日期,第二个参数是结束日期,即今天的日期(通过TODAY()函数获得)。第三个参数是"Y",表示计算结果以年为单位。
04
退休时间计算
C2为出生年月日,B2为性别
=TEXT(EDATE(C2,12*(5*(B2="男")+55)),"YYYY/MM/DD AAAA")
公式解释:EDATE(C2,12*(5*(B2="男")+55)): EDATE 函数用于计算给定日期(C2,即出生日期)之后的一定月数。参数中的 12*(5*(B2="男")+55) 是计算的月数,根据上述步骤确定的退休年龄。
05
计算社会工龄
如下图所示,A列是参加工作的时间,通过公式=DATEDIF(A2,TODAY(),"Y")即可计算工龄。
06
计算公司在职年月日
A列为入职公司的时间
=DATEDIF(A2,TODAY(),"Y")&""&DATEDIF(A2,TODAY(),"YM")&""&DATEDIF(A2,TODAY(),"MD")&"天"
公式解释:DATEDIF(A2,TODAY(),"YM"):这一部分使用DATEDIF函数计算从日期 A2 到今天的月数差距。DATEDIF(A2,TODAY(),"MD"):计算从日期 A2 到今天的天数差距。
07
月工作天数计算
例如一个月总共多少天,工作天数需要减去周末,你可以使用公式如下:
周六周末去除之后的工作天计算.
A1列是考核月份是时间
在B2单元格内输入=NETWORKDAYS.INTL(EDATE(A2,0),EOMONTH(A2,0))
公式解释:EDATE(A2,0):EDATE函数将A2中的日期向前或向后移动0个月,实际上就是保持A2中的日期不变。这个函数的作用是为了得到指定月份的第一天。
EOMONTH(A2,0):这部分使用EOMONTH函数,将A2中的日期向前或向后移动0个月,得到的结果是指定月份的最后一天。
NETWORKDAYS.INTL(EDATE(A2,0),EOMONTH(A2,0)):NETWORKDAYS.INTL函数用于计算在指定的起始日期(指定月份的第一天)和结束日期(指定月份的最后一天)之间的工作日数。NETWORKDAYS.INTL函数是考虑了周末的工作日计数函数,通常周六和周日是非工作日。