夜雨聆风学习资料网

ARTICLE · 1204441

Excel技巧|文本提取三兄弟:LEFT、RIGHT、MID,想拆什么拆什么

Excel技巧|文本提取三兄弟:LEFT、RIGHT、MID,想拆什么拆什么
做表格的时候,经常遇到这种情况:
一列数据混在一起,想从中提取某一部分。比如从“张三-销售部”里提取“张三”,从身份证号里提取出生日期,从地址里提取城市名。
手动复制粘贴?几百条数据能累死人。用分列?格式不统一就搞不定。
今天讲文本提取三兄弟:LEFT、RIGHT、MID。三个函数各管一个方向,学会之后,从任何文本里提取任何内容都不在话下。

一、LEFT:从左边开始提

语法:=LEFT(文本, 提取几位)
从文本的最左边开始,提取指定数量的字符。

场景一:提取姓氏

A列是姓名,想提取姓氏(假设都是单姓):
=LEFT(A2, 1)
从左边取1位,“张三”变成“张”。

场景二:提取手机号前3位

A列是手机号“13800138000”,想提取前3位:
=LEFT(A2, 3)
结果是“138”。

场景三:提取工号前缀

A列是“HR-001”,想提取“HR”:
=LEFT(A2, 2)
结果是“HR”。
关键点:第二个参数是“提取几位”,不是“提取到第几位”。写1就是取1个字符,写3就是取3个字符。

二、RIGHT:从右边开始提

语法:=RIGHT(文本, 提取几位)
从文本的最右边开始,提取指定数量的字符。

场景一:提取手机号后4位

A列是手机号“13800138000”,想提取后4位:
=RIGHT(A2, 4)
结果是“8000”。

场景二:提取身份证后4位

A列是身份证号,想提取后4位做校验:
=RIGHT(A2, 4)

场景三:提取文件扩展名

A列是文件名“报表.xlsx”,想提取“xlsx”:
=RIGHT(A2, 4)
结果是“xlsx”。
注意:RIGHT和LEFT一样,第二个参数是“提取几位”,从右边数。

三、MID:从中间任意位置提

语法:=MID(文本, 从第几位开始, 提取几位)
从文本的指定位置开始,提取指定数量的字符。这是三兄弟里最灵活的一个。

场景一:从身份证号提取出生日期

A列是身份证号“110101199001011234”,出生日期在第7到14位:
=MID(A2, 7, 8)
从第7位开始,取8位,结果是“19900101”。

场景二:从工号提取部门代码

A列是“HR-2026-001”,想提取中间的“2026”:
=MID(A2, 4, 4)
从第4位开始,取4位,结果是“2026”。

场景三:从地址提取城市名

A列是“陕西省西安市雁塔区科技路18号”,想提取“西安市”:
=MID(A2, 4, 3)
从第4位开始,取3位,结果是“西安市”。
关键点:MID有三个参数,中间那个是“从第几位开始”,第三个是“取几位”。两个数字别搞混。

四、三兄弟组合使用

单个函数威力有限,组合起来才能解决复杂问题。

场景一:提取姓名(去掉工号)

A列是“张三-001”,想提取“张三”:
=LEFT(A2, FIND("-", A2)-1)
FIND找到“-”在第几位,减1就是姓名的长度,LEFT从左边取这么多位。

场景二:提取工号(去掉姓名)

A列是“张三-001”,想提取“001”:
=RIGHT(A2, LEN(A2)-FIND("-", A2))
LEN算出总长度,减去“-”的位置,就是工号的长度,RIGHT从右边取这么多位。

场景三:提取两个符号之间的内容

A列是“陕西省[西安市]雁塔区”,想提取方括号里的“西安市”:
=MID(A2, FIND("[", A2)+1, FIND("]", A2)-FIND("[", A2)-1)
从“[”后面一位开始,取到“]”前面一位。

五、常见翻车现场

翻车一:提取位数写错了

=LEFT(A2, 0) 返回空值。第二个参数不能是0,至少写1。

翻车二:文本里有空格

“张 三”用LEFT取1位,得到的是“张”还是“张 ”?如果空格在前面,取到的是空格。用TRIM先清理一下:=LEFT(TRIM(A2), 1)。

翻车三:数字格式问题

如果单元格是数字格式(比如日期、手机号),LEFT/RIGHT/MID提取出来的是文本,不能直接参与计算。需要计算的话,外面套VALUE转换。

翻车四:FIND找不到符号报错

=LEFT(A2, FIND("-", A2)-1),如果A2里没有“-”,FIND会返回错误。用IFERROR包一下:=IFERROR(LEFT(A2, FIND("-", A2)-1), A2)。
下次需要从一列数据里提取某部分内容,先想想三兄弟能不能搞定。大部分场景,它们比手动复制粘贴快100倍。

相关学习资料