Excel 文本函数教程:LEN、LEFT、RIGHT、MID、TEXT
在数据处理中,经常需要处理姓名、身份证号、产品代码、日期格式等文本信息。Excel 提供了一套强大的文本函数,可以让你轻松完成截取、提取、转换、计算长度等操作,无需手动输入或分列。
本文通过真实案例,系统讲解 LEFT、RIGHT、MID、LEN、TEXT 五个核心文本函数的使用方法。
一、LEN – 计算文本长度
功能
返回文本字符串中的字符个数(包括空格)。
语法
=LEN(文本)
示例
|
|
|
|
|
|---|---|---|---|
|
|
=LEN(A1) |
|
|
|
|
=LEN(A2) |
|
|
|
|
=LEN(A3) |
|
|
|
|
=LEN(A4) |
|
|
常见用途
-
判断身份证号是否18位:
=IF(LEN(A2)=18,"正确","错误") -
清理数据前后空格:常与 TRIM 配合
-
辅助提取:例如提取最后 N 个字符时,先用 LEN 计算总长度
二、LEFT – 从左边提取字符
功能
从一个文本字符串的第一个字符开始,返回指定个数的字符。
语法
=LEFT(文本, [提取个数])
-
提取个数省略时默认为1。
示例
|
|
|
|
|
|---|---|---|---|
|
|
=LEFT(A1,3) |
|
|
|
|
=LEFT(A2,2) |
|
|
|
|
=LEFT(A3,4) |
|
|
实战案例:提取省份简称
假设 A 列是“江苏省南京市”,要提取“江苏”:
=LEFT(A1,2)
三、RIGHT – 从右边提取字符
功能
从文本字符串的最后一个字符开始,返回指定个数的字符。
语法
=RIGHT(文本, [提取个数])
示例
|
|
|
|
|
|---|---|---|---|
|
|
=RIGHT(A1,3) |
|
|
|
|
=RIGHT(A2,3) |
|
|
|
|
=RIGHT(A3,2) |
|
|
实战案例:提取手机号后4位
=RIGHT(A1,4)
四、MID – 从中间提取字符
功能
从文本字符串中指定位置开始,提取指定长度的字符。这是最灵活的截取函数。
语法
=MID(文本, 起始位置, 提取个数)
示例
|
|
|
|
|
|---|---|---|---|
|
|
=MID(A1,5,3) |
|
|
|
|
=MID(A2,7,8) |
|
|
|
|
=MID(A3,6,5) |
|
|
实战案例1:从身份证号提取出生年月
身份证号第7位开始8位是出生日期(如19900307),可转为日期格式:
=DATE(MID(A2,7,4), MID(A2,11,2), MID(A2,13,2))
实战案例2:提取括号内的内容
A1 = “张三(销售部)”,提取“销售部”:
=MID(A1, FIND("(", A1)+1, FIND(")", A1)-FIND("(", A1)-1)
(FIND 函数后续会介绍)
五、TEXT – 格式化文本
功能
将数字、日期等按指定格式转换为文本。这是最常用的“改格式”函数。
语法
=TEXT(值, 格式代码)
常用格式代码
|
|
|
|
|
|---|---|---|---|
|
|
"0.00%" |
|
|
|
|
"#,##0" |
|
|
|
|
"yyyy-mm-dd" |
|
|
|
|
"yyyy年m月d日" |
|
|
|
|
"ddd" |
|
|
|
|
"aaaa" |
|
|
|
|
"上午/下午" |
|
|
|
|
"00000" |
|
|
实战案例1:将日期转为“YYYYMMDD”格式的文本
=TEXT(A1,”yyyymmdd”)
例如 A1=2026/3/31 → 20260331
实战案例2:将数字转人民币大写(基础)
=TEXT(A1,”[DBNum2][$-804]G/通用格式”)
A1=123 → 壹佰贰拾叁
实战案例3:连接文本时保持日期格式
错误写法:="今天是" & A1(A1是日期,会变成数字)
正确写法:
="今天是" & TEXT(A1,"yyyy年m月d日")
六、函数组合实战案例
实际工作中,很少单独使用一个函数,而是将它们组合起来解决复杂问题。
案例1:从姓名+手机号混合文本中提取手机号
A列内容:张三13812345678,手机号都在末尾11位。
=RIGHT(A1,11)
更通用(假设手机号长度可变,但姓名无数字):
=MID(A1, LEN(A1)-10, 11)
案例2:统一证件号格式(15位/18位身份证补位)
身份证号应以18位保存。如果遇到15位旧号,在前面补“19”:
=IF(LEN(A1)=15, “19” & LEFT(A1,6) & MID(A1,7,9), A1)
案例3:从邮箱地址提取用户名
A1 = zhangsan@company.com,提取 zhangsan:
=LEFT(A1, FIND("@", A1)-1)
案例4:将“20260331”转为“2026-03-31”
A1 = 20260331(数字或文本)
=TEXT(A1,”0000-00-00″)
如果A1是文本:=TEXT(DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2)),"yyyy-mm-dd")
案例5:隐藏手机号中间4位
A1 = 13812345678,显示为 138****5678:
=LEFT(A1,3) & "****" & RIGHT(A1,4)
案例6:将姓名和职位拆分(已知固定格式)
A1 = 张三-经理,提取姓名和职位:
姓名:=LEFT(A1, FIND("-", A1)-1)职位:=MID(A1, FIND("-", A1)+1, LEN(A1)-FIND("-", A1))
案例7:计算文本中数字的个数
A1 = ABC123DEF45,统计数字个数:
=SUM(LEN(A1)-LEN(SUBSTITUTE(A1,{0,1,2,3,4,5,6,7,8,9},””)))
(数组公式,需按 Ctrl+Shift+Enter,或新版Excel直接回车)
七、常见错误及解决方法
|
|
|
|
|---|---|---|
#VALUE! |
|
|
|
|
|
TRIM 或 CLEAN 清理 |
|
|
|
|
|
|
|
DATE 函数重新构建 |
|
|
|
|
八、函数速查表
|
|
|
|
|---|---|---|
LEN(text) |
|
=LEN("Excel")
|
LEFT(text, n) |
|
=LEFT("ABC-123",3)
|
RIGHT(text, n) |
|
=RIGHT("ABC-123",3)
|
MID(text, start, n) |
|
=MID("ABC-123",2,3)
|
TEXT(value, format) |
|
=TEXT(0.5,"0%")
|
九、课后练习(答案附后)
-
A1=“Excel 2026 教程”,用公式提取“2026”。
-
A1=“20260331”,如何得到“2026/03/31”?
-
A1=“32010119900307663X”,提取性别(第17位奇数为男,偶数为女)。
-
A1=“销售部-张三”,用公式分别得到部门和姓名。
-
将数字 1234.56 显示为“1,234.56 元”。
十、总结
文本函数是 Excel 数据清洗和格式化的必备工具。掌握它们,你可以:
-
✅ 快速提取证件号、地址、日期中的关键信息
-
✅ 统一文本格式(如日期、金额、编码)
-
✅ 动态拼接字符串并保持格式
-
✅ 检查数据长度是否符合规范
建议:结合 IF、FIND、SUBSTITUTE 等函数,文本处理能力将更上一层楼。后续教程会继续讲解这些进阶函数。
感谢你学习到最后,如果喜欢就点个【赞】和【关注】吧
夜雨聆风