LEFT,RIGHT,MID函数,这三个函数属于同一类:从文本字符串中截取指定位置的字符。你可以把它们理解为三把不同方向的手术刀,专门用来从单元格里“切”出你需要的那一小段内容。
一、LEFT函数:从左边开始取
语法:LEFT(字符串, 数值)
作用:从一个字符串的最左边(第一个字符)开始,向右提取指定数量的字符。
想象你面前有一段文字,你拿一把刀在最左边切下去,切多长你说了算。
二、RIGHT函数:从右边开始取
语法:RIGHT(字符串, 数值)
作用:从一个字符串的最右边(最后一个字符)开始,向左提取指定数量的字符。
和LEFT正好相反,这把刀从右边下刀。
三、MID函数:从中间任意位置取
语法:MID(字符串, 起始位置, 数值)
作用:从字符串的指定位置开始,提取指定长度的字符。
这是最灵活的一个。你可以指定从第几个字符开始下刀,然后切多长。前面两个只能从两端下手,MID可以从中间任意位置切入。
四、三个函数的对比
| | | |
| | | |
| | | |
| | | 提取固定位置的中间字段,如身份证日期、省市区中的市 |
实际组合使用:有时候你需要配合LEN函数(计算总长度)来动态确定截取长度。
比如要提取文件名的扩展名:文件名"年度报表.xlsx",扩展名是最后5个字符。但不同文件的扩展名长度可能是3(.pdf)、4(.docx)不固定。用RIGHT配合LEN和FIND会更灵活,不过那是后面函数的配合技巧了。
五、常见错误提醒
1)起始位置超出了字符串长度:MID会返回空字符串"",不报错但结果为空,注意检查数据。
2)提取长度超过剩余字符数:函数不会报错,会一直取到字符串末尾为止。比如字符串有5个字符,你让MID取10个,它就返回剩下的5个。
3)数字被提取后变成文本:LEFT、RIGHT、MID返回的永远是文本类型,哪怕看起来是数字。如果需要参与数值计算,用--MID(...)或VALUE(MID(...))转换一下。
中文字符和英文字符:在Excel里每个中文汉字算1个长度,英文字母、数字、标点也是1个长度。不用担心中文占2个字节的问题,Excel按显示字符计数,直接用就行。
六、一个完整的实例
假设你们有一列产品编码:PRD_BJ_2024_087,存放在A1单元格
需要分别提取:
产品类型"PRD" → LEFT(A1, 3)
城市代码"BJ" → MID(A1, 5, 2)
年份"2024" → MID(A1, 8, 4)
序列号"087" → RIGHT(A1, 3)
一列数据拆成四列,清洗整理数据时就顺手多了。
这三个函数没有复杂逻辑,就是纯粹的“切字符串”。学完这三个,加上之前讲过的文本函数,你已经能处理大部分数据清洗工作了。下一个要讲的CONCATENATE函数(或&符号)就是它们的反向操作——把切开的再粘回去。