夜雨聆风学习资料网

ARTICLE · 1211973

Excel 文本处理函数:拆姓名、清手机号、身份证脱敏

Excel 文本处理函数:拆姓名、清手机号、身份证脱敏

Excel 文本处理函数:拆姓名、清手机号、身份证脱敏

从一列混排的数据里把姓氏拆出来、把手机号里多出来的空格和 86 去掉、把身份证中间八位变成星号,这些活靠手删要删到眼花。文本函数就是干这个的,十几个记牢,脏数据几分钟就能洗干净。

日常表格里最折磨人的往往不是算数,是一列不规矩的文字:姓名和部门挤在一起,手机号有的带区号有的带空格,身份证一长串看着就乱。把它们拆开、补齐、替换、去掉多余空格,靠的不是技巧,是几个固定函数。这一篇把常用的 14 个文本函数一次讲清楚,每个都配上能直接抄的写法。

用之前记两条前提。一是函数里的括号、逗号、引号全在英文状态下打,中文符号 Excel 认不出来;二是文本和日期这类不是单元格引用的内容,要加双引号,比如 "男"、"********"。

从两边和中间截取字符

这三个是文本处理的底座,身份证、手机号、订单号这种"位置固定"的内容全靠它们。

LEFT 从左边取

语法 =LEFT(文本, 取几位),从最左边开始数。

• 单元格 A2 是 2018_09,=LEFT(A2,4) 得到 2018,取出前面的年份。

• 取出的是文本,想当数字用就补个加零:=LEFT(A2,4)+0 得到数值 2018。

RIGHT 从右边取

语法 =RIGHT(文本, 取几位),从最右边往回数。

• A2 是工号 9789279,=RIGHT(A2,5) 得到后五位 89279。

• 手机号取后四位:=RIGHT(A2,4)。

MID 从中间取

语法 =MID(文本, 从第几位开始, 取几位),两端都不靠时用它的。

• A2 是身份证 110326199003152345,出生年月日在第 7 到 14 位,=MID(A2,7,8) 得到 19900315。

• 配合其他函数还能把这段再拆成年月:=MID(A2,7,4)&"年"。

身份证判断男女有个现成套路:第 17 位是偶数就是女。=IF(MOD(MID(A2,17,1),2)=0,"女","男")。这里用 MID 取出第 17 位,MOD 判断奇偶,IF 给结果,三个函数串起来一步到位。

数字符、查位置

LEN 数长度

语法 =LEN(文本),返回字符个数,一个汉字算一个。

• 校验手机号是不是 11 位:=IF(LEN(A2)=11,"正确","位数不对")。

• 想连字节一起算用 LENB,一个汉字按 2 个字节计,=LENB(A2)。

FIND 与 SEARCH 找位置

两个都是"找某个字符第一次出现的位置",区别在 FIND 区分大小写,SEARCH 不区分。

语法 =FIND(要找的字符, 在哪个文本里, [从第几位开始找]),SEARCH 同结构。

• A2 是 Li, Bingbing,=FIND("in",A2) 返回 5(第一个 in 从第 5 位起)。

• 找不到大写就报错,不区分大小写时改用 =SEARCH("bing",A2),返回 4。

• 第三个参数能指定从哪开始找,=FIND("n",A2,6) 从第 6 位起找下一个 n。

改大小写

•=LOWER(A2) 全转小写:Zhang, SAN 变成 zhang, san。

•=UPPER(A2) 全转大写:变成 ZHANG, SAN。

•=PROPER(A2) 每个英文单词首字母大写、其余小写:变成 Zhang, San,适合整理人名。

这三个只动英文字母,中文原样保留。

重复、替换与删除空格

REPT 重复多次

语法 =REPT(内容, 重复次数)。

• A2 是 加油,=REPT(A2,6) 得到 加油加油加油加油加油加油。

• 也能做简易进度条:=REPT("█",5)&REPT("░",5),实心格加空心格。

REPLACE 按位置替换

语法 =REPLACE(文本, 从第几位开始, 替换几位, 换成什么),靠位置定位。

• 身份证 A2 是 110326199003152345,中间 8 位出生日期要打码:=REPLACE(A2,7,8,"********"),从第 7 位起替换 8 位。

SUBSTITUTE 按内容替换

语法 =SUBSTITUTE(文本, 要找的内容, 换成什么, [只换第几个]),靠内容定位,和 REPLACE 一个按位置一个按内容。

• A2 里所有的 9 换成 :=SUBSTITUTE(A2,"9","")。

• 只换第 2 个 9:=SUBSTITUTE(A2,"9","*",2)。

• 把手机号里的空格和 +86 去掉,只留 11 位裸号,可以先 SUBSTITUTE(A2," ","") 去空格,再处理前缀。

REPLACE 和 SUBSTITUTE 常被记混。记法很简单,REPLACE 数"第几位",SUBSTITUTE 认"哪个字"。身份证按位数打码用 REPLACE,把全文所有横杠换成斜杠用 SUBSTITUTE。

TRIM 删多余空格

语法 =TRIM(文本),去掉首尾空格、把中间连续空格压成一个。

• A2 是 "   He    llo   ",=TRIM(A2) 变成 "He llo"。从系统导出的数据末尾常带看不见的空格,TRIM 一清就好。

TEXT 把数字日期变格式

语法 =TEXT(值, "格式代码"),格式代码要加引号。

• 日期转文字:=TEXT(A2,"yyyy-mm-dd") 得到 2026-07-02。

• 显示星期:=TEXT(TODAY(),"aaaa") 得到 星期一。

• 保留两位小数:=TEXT(A2,"0.00");转百分比:=TEXT(A2,"0%")。

• 加货币符号:=TEXT(A2,"¥#,##0.00")。

TEXT 的结果是文本,不再是能继续算的数值,用来做展示或拼接最合适。

一张表记住这 14 个

函数
干什么
典型写法
LEFT
从左取几位
=LEFT(A2,4)
RIGHT
从右取几位
=RIGHT(A2,4)
MID
从中间取几位
=MID(A2,7,8)
LEN
数字符个数
=LEN(A2)
LOWER
全转小写
=LOWER(A2)
UPPER
全转大写
=UPPER(A2)
PROPER
单词首字母大写
=PROPER(A2)
FIND
找位置(区分大小写)
=FIND("in",A2)
SEARCH
找位置(不分大小写)
=SEARCH("bing",A2)
REPT
重复多次
=REPT(A2,6)
REPLACE
按位置替换
=REPLACE(A2,7,8,"****")
SUBSTITUTE
按内容替换
=SUBSTITUTE(A2,"9","*")
TRIM
删多余空格
=TRIM(A2)
TEXT
转成指定格式
=TEXT(A2,"yyyy-mm")

几个容易踩的坑

现象
原因
怎么解决
公式报 #NAME?
用了中文括号、逗号或引号
全部切回英文输入法重打符号
截取出来不能参与计算
LEFT/MID 结果是文本
后面 +0 或 *1 转成数值
FIND 返回 #VALUE!
要找的字符不存在或大小写不符
换 SEARCH,或用 IFERROR 兜底
明明有空格却删不掉
那是不可见的换行符不是空格
配合 CLEAN 或 SUBSTITUTE 处理

感谢阅读,欢迎关注我的公众号

扫码关注「Hai分享」,获取更多干货内容

相关学习资料