大家好,我是小站!
你遇到过这些情况吗?
从身份证号里提取出生日期
从邮箱地址里提取用户名
从“张三-销售部-8000”里单独提取部门
从一长串编码里截取中间几位
手动复制粘贴?太慢,而且数据一多就乱。
今天讲 LEFT、RIGHT、MID 三个文本提取函数。一个公式,秒秒钟搞定。
=LEFT(文本, 截取几位)案例:提取姓氏A2单元格:张三
公式:=LEFT(A2, 1) → 结果:张
案例:提取省份
A2:北京市朝阳区
公式:=LEFT(B2, 3) → 结果:北京市
如果第二参数省略,默认截取1位。

二、RIGHT:从右边截取
语法:=RIGHT(文本, 截取几位)
案例:提取手机号后4位
A2:13812345678
公式:=RIGHT(C2, 4) → 结果:5678
案例:提取文件后缀
A2:年度报表.xlsx
公式:=RIGHT(D2, 5) → 结果:.xlsx

三、MID:从中间截取
语法:=MID(文本, 从第几位开始, 截取几位)
案例:从身份证号中提取出生日期
A2:11010119900307663X(18位身份证)
出生日期在第7位开始,共8位:19900307
公式:=MID(E2, 7, 8) → 结果:19900307
再用TEXT格式化成日期:=TEXT(MID(E2,7,8),"0000-00-00") → 1990-03-07

(更规范的做法是用TEXTSPLIT或查找分隔符,但MID也能应急)
四、组合拳:配合LEN、FIND使用
如果文本长度不固定,需要结合 LEN(计算总长度) 和 FIND(查找位置)。
案例:提取邮箱用户名
A2:zhangsan@company.com
想提取 @ 前面的部分。
公式:=LEFT(G2, FIND("@", G2)-1)
FIND("@", G2) 找到@在第9位
减1得到用户名长度8
LEFT截取前8位 → zhangsan

A2:销售部/张三/2025
想提取最后的 2025。
公式:=RIGHT(H2, LEN(H2)-FIND("/", H2, FIND("/", H2)+1))(更简单的可以用TEXTSPLIT,但老版本可以用这个)
实际工作中,新版本推荐用 TEXTSPLIT 或 TEXTBEFORE/TEXTAFTER,更直观。
LEFT / RIGHT / MID 是文本处理的“三板斧”。记住它们的区别:
建议收藏,下次遇到文本提取,直接套公式。
往期回顾:
10秒学会 Excel:告别手动改格式!TEXT函数这5种用法,日期/数字一键美化
10秒学会 Excel:系统导出的乱数据不用愁,分列帮你拆得明明白白
觉得有用,点个“在看”吧~—— 每天10秒,学一个Excel小技巧。