EXCEL常用函数公式及技巧搜集PDF
### EXCEL常用函数公式及技巧搜集 #### 一、身份证信息提取 在处理大量的人事数据时,经常需要从身份证号码中提取出生日期和性别等关键信息。以下是一些常用的Excel函数公式,可以帮助快速准确地完成这些任务。 ##### 1.1 提取出生年月日 **目的**: 从身份证号码中提取出生日期,并将其格式化为`yyyy-mm-dd`形式。 **方法一**: ```excel =TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")+0 ``` **解释**: - `MID(A1,7,6+(LEN(A1)=18)*2)`从身份证号码的第7位开始截取,根据身份证号长度决定截取6位还是8位。 - `TEXT(...,"#-00-00")`将截取的数字转换成日期格式。 - `+0`将文本型日期转换为数值型日期。 **方法二**: ```excel =IF(A2<>"",TEXT((LEN(A2)=15)*19&MID(A2,7,6+(LEN(A2)=18)*2),"#-00-00")+0,) ``` **解释**: - 该公式增加了条件判断,当A2单元格不为空时才执行日期提取操作。 - `(LEN(A2)=15)*19&MID(A2,7,6+(LEN(A2)=18)*2)`根据身份证号码长度判断是否需要加上前缀"19"。 - 其余部分与方法一相同。 **方法三**: ```excel =IF(LEN(A2)=15,"19"&MID(A2,7,2)&"-"&MID(A2,9,2)&"-"&MID(A2,11,2),MID(A2,7,4)& "-"&MID(A2,11,2)&"-"&MID(A2,13,2)) ``` **解释**: - 通过条件判断选择不同的截取方式,确保无论是15位还是18位的身份证号码都能正确提取出生日期。 - 使用连字符`-`来分隔年、月、日。 **方法四**: ```excel =IF(D4="","",IF(LEN(D4)=15,TEXT(("19"&MID(D4,7,6)),"0000年年00月月00日日"),IF(LEN(D4)=18,TEXT(MID(D4,7,8),"0000年年00月月00日日")))) ``` **解释**: - 该公式提供了一个更灵活的格式选项,可以将结果格式化为`yyyy年mm月dd日`。 - 通过嵌套IF语句来实现不同的日期格式转换。 **方法五**: ```excel =IF(LEN(A1:A2)=18,MID(A1:A2,7,8),"19"&MID(A1:A2,7,6)) ``` **解释**: - 如果身份证号码长度为18位,则直接提取第7到第14位作为出生日期;如果是15位,则添加前缀"19"后提取相应位数。 - 该公式返回的日期为`yyyymmdd`格式。 **小结**: 以上几种方法各有特点,可以根据实际需求选择合适的公式使用。例如,如果需要将提取的结果直接用作日期计算或排序,则应选择能直接转换为日期类型的方法;如果仅用于展示,则可以选择易于阅读的格式化方式。 ##### 1.2 提取性别 **目的**: 根据身份证号码的倒数第二位判断性别。 **方法一**: ```excel =IF(MOD(MID(A1,15,3),2),"男","女") ``` **解释**: - `MID(A1,15,3)`从身份证号码的第15位开始截取3位数字。 - `MOD(...,2)`计算截取的数字除以2的余数。 - 如果余数为1,则认为是男性;如果余数为0,则认为是女性。 **方法二**: ```excel =IF(MOD(RIGHT(LEFT(A1,17)),2),"男","女") ``` **解释**: - `LEFT(A1,17)`从身份证号码的左侧截取17位。 - `RIGHT(...)`从截取后的字符串右侧获取最后一位数字。 - 接下来的操作同方法一。 **方法三**: ```excel =IF(A2<>””,IF(MOD(RIGHT(LEFT(A2,17)),2),”男”,”女”),) ``` **解释**: - 增加了条件判断,只有当A2单元格非空时才执行性别判断。 - 其余逻辑同方法二。 **小结**: 这些公式能够方便快捷地从身份证号码中提取性别信息。在实际应用中,可以根据具体情况选择适合的公式。 ##### 1.3 年龄判断 **目的**: 根据身份证号码中的出生日期计算年龄。 **方法一**: ```excel =IF(A3<>””,DATEDIF(TEXT((LEN(A3)=15*19&MID(A3,7,6+(LEN(A3)=18*2),”#-00-00”),TODAY(),”Y”),) ``` **解释**: - 首先根据身份证号码的长度判断并提取出生日期。 - 使用`DATEDIF`函数计算从出生日期到今天的年份差值。 - 注意该公式可能存在语法错误,可能需要适当调整。 **方法二**: ```excel =DATEDIF(A1,TODAY(),"Y") ``` **解释**: - 直接使用`DATEDIF`函数计算两个日期之间的年份差值。 - 这是最简洁的方法之一,适用于大多数情况。 **小结**: 年龄计算通常涉及到当前日期和出生日期之间的比较。以上提供的方法能够帮助我们快速准确地计算出年龄。 --- 通过上述内容可以看出,Excel提供了丰富的函数工具,使得我们能够高效地处理各种复杂的数据分析任务。特别是在处理人事数据时,合理利用这些函数公式可以极大地提高工作效率。希望上述内容能够对您有所帮助!