乐于分享
好东西不私藏

Excel 文本函数教程:LEN、LEFT、RIGHT、MID、TEXT

Excel 文本函数教程:LEN、LEFT、RIGHT、MID、TEXT

在数据处理中,经常需要处理姓名、身份证号、产品代码、日期格式等文本信息。Excel 提供了一套强大的文本函数,可以让你轻松完成截取、提取、转换、计算长度等操作,无需手动输入或分列。

本文通过真实案例,系统讲解 LEFT、RIGHT、MID、LEN、TEXT 五个核心文本函数的使用方法。


一、LEN – 计算文本长度

功能

返回文本字符串中的字符个数(包括空格)。

语法

=LEN(文本)

示例

A列(输入)
公式
结果
说明
Excel
=LEN(A1)
5
字母个数
你好世界
=LEN(A2)
4
中文每个字算1个字符
Excel 2026
=LEN(A3)
10
字母+数字+空格
(空单元格)
=LEN(A4)
0
空文本长度为0

常见用途

  • 判断身份证号是否18位:=IF(LEN(A2)=18,"正确","错误")

  • 清理数据前后空格:常与 TRIM 配合

  • 辅助提取:例如提取最后 N 个字符时,先用 LEN 计算总长度


二、LEFT – 从左边提取字符

功能

从一个文本字符串的第一个字符开始,返回指定个数的字符。

语法

=LEFT(文本, [提取个数])
  • 提取个数省略时默认为1。

示例

A列(文本)
公式
结果
说明
ABC-123
=LEFT(A1,3)
ABC
取前3个字符
江苏省苏州市
=LEFT(A2,2)
江苏
取前2个汉字
2026-03-31
=LEFT(A3,4)
2026
提取年份

实战案例:提取省份简称

假设 A 列是“江苏省南京市”,要提取“江苏”:

=LEFT(A1,2)

三、RIGHT – 从右边提取字符

功能

从文本字符串的最后一个字符开始,返回指定个数的字符。

语法

=RIGHT(文本, [提取个数])

示例

A列(文本)
公式
结果
说明
ABC-123
=RIGHT(A1,3)
123
取后3个字符
江苏省苏州市
=RIGHT(A2,3)
苏州市
取后3个汉字
2026-03-31
=RIGHT(A3,2)
31
提取日期中的日

实战案例:提取手机号后4位

=RIGHT(A1,4)

四、MID – 从中间提取字符

功能

从文本字符串中指定位置开始,提取指定长度的字符。这是最灵活的截取函数。

语法

=MID(文本, 起始位置, 提取个数)

示例

A列(文本)
公式
结果
说明
ABC-123-DEF
=MID(A1,5,3)
123
从第5个字符开始取3个
32010119900307663X
=MID(A2,7,8)
19900307
提取身份证中的出生日期
产品编号:X1009
=MID(A3,6,5)
X1009
跳过“产品编号:”

实战案例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.765
"0.00%"
76.50%
百分比保留2位
12345
"#,##0"
12,345
千分位分隔符
2026/3/31
"yyyy-mm-dd"
2026-03-31
日期转特定格式
2026/3/31
"yyyy年m月d日"
2026年3月31日
中文日期
2026/3/31
"ddd"
Mon
英文星期缩写
2026/3/31
"aaaa"
星期三
中文星期全称
0.5
"上午/下午"
下午
将0.5转为下午(时间12:00)
10
"00000"
00010
补零到5位

实战案例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!
起始位置为0或负数,或提取个数为负数
确保起始位置≥1,提取个数≥0
提取结果少字符
文本中有不可见空格或换行符
先用 TRIM 或 CLEAN 清理
TEXT结果还是数字
格式代码写错,或值本身是文本
检查格式代码是否用英文双引号括起来
日期提取后不能计算
TEXT输出是文本,不是日期
如需计算,用 DATE 函数重新构建
提取中文字符错误
中文在UTF-16中每个字占1个字符,Excel识别正确;但LEN与LENB有区别(不常用)
一般用LEN即可

八、函数速查表

函数
作用
示例
LEN(text)
计算字符个数
=LEN("Excel")

 → 5
LEFT(text, n)
从左取n个字符
=LEFT("ABC-123",3)

 → ABC
RIGHT(text, n)
从右取n个字符
=RIGHT("ABC-123",3)

 → 123
MID(text, start, n)
从start取n个字符
=MID("ABC-123",2,3)

 → BC-
TEXT(value, format)
按格式转换
=TEXT(0.5,"0%")

 → 50%

九、课后练习(答案附后)

  1. A1=“Excel 2026 教程”,用公式提取“2026”。

  2. A1=“20260331”,如何得到“2026/03/31”?

  3. A1=“32010119900307663X”,提取性别(第17位奇数为男,偶数为女)。

  4. A1=“销售部-张三”,用公式分别得到部门和姓名。

  5. 将数字 1234.56 显示为“1,234.56 元”。


十、总结

文本函数是 Excel 数据清洗和格式化的必备工具。掌握它们,你可以:

  • ✅ 快速提取证件号、地址、日期中的关键信息

  • ✅ 统一文本格式(如日期、金额、编码)

  • ✅ 动态拼接字符串并保持格式

  • ✅ 检查数据长度是否符合规范

建议:结合 IF、FIND、SUBSTITUTE 等函数,文本处理能力将更上一层楼。后续教程会继续讲解这些进阶函数。

感谢你学习到最后,如果喜欢就点个赞】和【关注】吧