文本处理的重要性
Excel用户在实际工作中要处理的数据并不都是纯粹的数值数据。大量的表格数据以文本形式存在如员工姓名地址邮编身份证号电话号码等。这些文本数据常常需要被拆分提取拼接或格式化以满足不同的使用需求。Excel提供了一套功能完善的文本函数可以对这些文本数据进行灵活处理。掌握这些函数后很多原本需要逐行手动处理的工作可以轻松实现自动化。
LEFT函数提取左侧字符
LEFT函数可以从文本的左侧开始提取指定数量的字符。语法为=LEFT(文本,字符数)。实际应用场景:从完整的身份证号中提取出生年月信息的前六位或者从完整地址中提取省份信息。如果字符串是张三01012345想提取姓名使用=LEFT(A1,2)可以提取出张三。字符数不写或省略时默认提取第一个字符=LEFT(A1)提取张。
RIGHT函数提取右侧字符
RIGHT函数从文本的右侧开始提取字符。语法为=RIGHT(文本,字符数)。从身份证号中提取后四位或从文件路径中提取文件扩展名。如果字符串是张三01012345想提取数字部分=RIGHT(A1,8)可以提取出01012345。如果字符数不写则提取最后一个字符。结合LEN函数可以灵活计算需要提取的字符长度。
MID函数提取中间字符
MID函数从指定位置开始提取指定数量的字符。语法为=MID(文本,起始位置,字符数)。身份证号中提取出生日期部分:=MID(A1,7,8)从第7位开始提取8位得到出生日期如19900101。从地址字符串中提取指定位置的文本也常用这个函数。起始位置为1代表从第一个字符开始计数。
LEN和LENB计算文本长度
LEN函数返回文本字符串中的字符数包括空格。LENB函数返回字节数一个汉字占2个字节。实际应用:验证输入是否符合长度要求如=IF(LEN(A1)=18,正确,错误)检查身份证号是否为18位。在数据清洗中经常用LEN检查文本中是否包含多余空格或特殊字符。
FIND和SEARCH查找位置
FIND函数查找一个文本在另一个文本中的起始位置区分大小写。SEARCH功能类似但不区分大小写且支持通配符。语法=FIND(要查找的文本,所在文本,起始位置)。定位到特定字符后可以结合LEFT或MID函数提取该字符前后的内容。例如在邮箱地址中找到@的位置再提取前后部分作为用户名和域名。
CONCATENATE和TEXTJOIN合并文本
CONCATENATE是Excel早期版本中的文本连接函数可以将多个文本合并为一个。语法=CONCATENATE(文本1,文本2,文本3)。在Excel2016及之后版本推荐使用=TEXTJOIN(分隔符,忽略空白,文本范围)函数它可以一次连接一个区域中的所有文本内容。实际案例:=TEXTJOIN(,,TRUE,A1:A10)可以将A1到A10的所有内容连接成一个字符串中间用逗号分隔忽略空白单元格。
综合案例:身份证信息提取
假设A1单元格中是身份证号。提取出生日期:=MID(A1,7,4)年&MID(A1,11,2)月&MID(A1,13,2)日显示为1990年01月01日。提取性别:=IF(MOD(MID(A1,17,1),2)=1,男,女)身份证第17位奇数为男偶数为女。提取年龄:=DATEDIF(DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2)),TODAY(),Y)。这几个函数组合使用就可以构建一个完整的个人信息提取模板省去人工查阅的时间。