📝 文本函数 · 报表人的命根子 TEXT/CONCATENATE/TEXTJOIN/LEFT/RIGHT/MID
☕ Excel下午茶 · 让数据会说话
📌 从身份证号提取生日、把姓名和工号合并、将日期格式统一…… 文本函数是Excel清洗数据、美化报表的“神兵利器”。TEXT、CONCATENATE、TEXTJOIN、LEFT、RIGHT、MID —— 今天一篇全搞定!
✂️ 一、LEFT / RIGHT / MID —— 按需截取
这三个函数用于从文本字符串中提取指定位置的内容,是处理固定格式数据的核心工具。
=LEFT(文本, 提取字符数) // 从左边开始 =RIGHT(文本, 提取字符数) // 从右边开始 =MID(文本, 起始位置, 提取字符数) // 从中间开始
🎯 案例1:从身份证号提取出生日期
身份证号:11010119900307663X,第7-14位是出生日期。
=MID(A2, 7, 8) → 19900307
再配合TEXT函数格式化:=TEXT(MID(A2,7,8),"0-00-00") → 1990-03-07
🎯 案例2:分离姓名和工号
数据格式为“张三_1001”,需提取姓名(左侧)和工号(右侧)。
姓名:=LEFT(A2, FIND("_", A2)-1) 工号:=RIGHT(A2, LEN(A2)-FIND("_", A2))
🔗 二、CONCATENATE / & —— 文本拼接
将多个文本合并成一个字符串。用 & 更简洁,推荐使用。
=CONCATENATE(文本1, 文本2, ...) =文本1 & 文本2 & 文本3
🎯 案例3:生成完整地址
将省、市、区拼接,中间加空格:
=A2 & " " & B2 & " " & C2
注意:& 可以直接连接单元格和任意文本(需用引号)。
🚀 三、TEXTJOIN —— 智能合并,忽略空单元格
TEXTJOIN 是Excel 2019及Office 365中的函数,可以指定分隔符并选择是否忽略空单元格,比CONCATENATE强大得多。
=TEXTJOIN(分隔符, 是否忽略空单元格, 文本1, 文本2, ...)
🎯 案例4:将多个备注合并成一句话
某项目有多条备注,部分单元格为空,需要合并并用逗号隔开,跳过空值。
=TEXTJOIN("、", TRUE, A2:A10)
第二个参数 TRUE 表示忽略空白单元格,不会出现连续的分隔符。
🎯 案例5:将多个员工姓名合并成名单
需要将部门所有员工姓名用顿号连接:
=TEXTJOIN("、", TRUE, B2:B20)
如果是旧版Excel没有TEXTJOIN,可用 =A2&IF(B2<>"","、"&B2,"")&... 但非常繁琐,建议升级版本或使用插件。
🎨 四、TEXT —— 数字/日期变文本,随心所欲
TEXT函数可以将数字或日期按照指定格式转换为文本,常用于报表美化、生成固定格式编号等。
=TEXT(值, 格式代码)
🎯 案例6:统一日期格式
将日期列显示为“2025年01月15日”格式:
=TEXT(A2, "yyyy年mm月dd日")
🎯 案例7:将数字转换为带千分位和货币符号的文本
=TEXT(12345.67, "¥#,##0.00") → ¥12,345.67
🎯 案例8:从日期时间中提取小时和分钟
=TEXT(NOW(), "hh:mm") → 当前时间如 15:30
💡 常用格式代码速查: "yyyy-mm-dd" → 2025-04-21 "m/d/yyyy" → 4/21/2025 "0.00%" → 百分比两位小数 "@" → 文本占位符
🧩 五、综合实战:身份证号信息提取
从18位身份证号中提取:出生日期、性别、年龄、归属地(前6位)。
=TEXT(MID(A2,7,8),"0-00-00") | |
=IF(MOD(MID(A2,17,1),2)=1,"男","女") | |
=DATEDIF(DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2)),TODAY(),"Y") |
📊 六、文本函数速查表
| LEFT | ||
| RIGHT | ||
| MID | ||
| CONCATENATE / & | ||
| TEXTJOIN | ||
| TEXT |
⚠️ 七、常见错误与避坑
❌ TEXT函数返回的是文本,不能用于数值计算:TEXT("123") 是文本,再求和会出错。需要计算时,保留原始数值,仅显示用TEXT。
❌ LEFT/RIGHT/MID遇到中文字符时,每个汉字算1个字符:与LENB不同,注意区分。一般情况没问题。
❌ CONCATENATE不支持范围,只能逐个单元格:如果需要合并区域,用TEXTJOIN或新版CONCAT函数。
❌ TEXTJOIN在旧版Excel不可用:可用VBA或辅助列替代,但建议升级到Office 365或Excel 2021+。
❌ 提取长度超过文本长度会报错:可用IFERROR处理,如=IFERROR(LEFT(A2,10),A2)。
📌 写在最后
文本函数是Excel数据清洗和报表美化的核心工具。掌握LEFT/RIGHT/MID可以精准提取信息;CONCATENATE和TEXTJOIN让文本拼接更灵活;TEXT函数则让你的数据展示更加专业。
报表人的命根子,就是这些看似简单却无处不在的文本函数。熟练运用它们,你的工作效率至少提升50%。
☕ Excel下午茶 · 每天一个效率技巧。
🔜 下期预告
📊 统计函数 · 数据汇总标配
COUNT / COUNTA / COUNTIF / AVERAGE / MAX / MIN —— 从计数到求平均,一篇打尽!
⭐ 关注我们,下一篇准时推送。
📎 本文所有示例均可在Excel中直接练习,建议动手试试。 觉得有用?点个「在看」分享给更多需要提效的小伙伴。
© Excel下午茶 · 给忙碌的工作加点料
夜雨聆风