Excel文本函数公式全攻略:从入门到精通
Excel文本函数公式全攻略:从入门到精通
Excel中的文本函数是数据处理的重要工具,无论是清洗数据、提取信息还是格式化字符串,都离不开它们。本文将系统介绍最常用的文本函数,包括LEFT、RIGHT、MID、LEN、FIND、REPLACE、SUBSTITUTE、CONCATENATE、TEXTJOIN等,并结合实例演示如何组合使用。
1. LEFT和RIGHT:从两端提取字符
LEFT函数从文本左侧提取指定数量的字符。语法:=LEFT(text, num_chars)。例如,=LEFT("Excel2024",5)返回“Excel”。
RIGHT函数从右侧提取字符。语法:=RIGHT(text, num_chars)。例如,=RIGHT("Excel2024",4)返回“2024”。
2. MID:从中间提取字符
MID函数从任意位置开始提取指定数量的字符。语法:=MID(text, start_num, num_chars)。例如,=MID("Excel2024",6,4)返回“2024”。
3. LEN:计算字符串长度
LEN函数返回文本中的字符数。语法:=LEN(text)。例如,=LEN("Excel")返回5。注意,空格也算字符。
4. FIND和SEARCH:查找文本位置
FIND函数区分大小写,返回某个文本在另一个文本中的起始位置。语法:=FIND(find_text, within_text, [start_num])。例如,=FIND("e","Excel")返回2(因为“e”在第二个位置)。
SEARCH函数不区分大小写,且支持通配符。例如,=SEARCH("e","Excel")同样返回2。与FIND类似,但更灵活。
5. REPLACE和SUBSTITUTE:替换文本
REPLACE函数根据位置替换文本。语法:=REPLACE(old_text, start_num, num_chars, new_text)。例如,=REPLACE("Excel2024",6,4,"2025")返回“Excel2025”。
SUBSTITUTE函数根据内容替换特定文本。语法:=SUBSTITUTE(text, old_text, new_text, [instance_num])。例如,=SUBSTITUTE("Excel Excel","Ex","E")返回“Ecel Ecel”。若指定instance_num为2,则只替换第二次出现的文本。
6. CONCATENATE和TEXTJOIN:合并文本
CONCATENATE函数(或使用&运算符)可将多个文本合并。语法:=CONCATENATE(text1, text2, ...)。例如,=CONCATENATE("Hello"," ","World")返回“Hello World”。
TEXTJOIN函数(Excel 2016及以上)可以用分隔符连接多个文本,并可忽略空值。语法:=TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)。例如,=TEXTJOIN(",",TRUE,"A","B","","C")返回“A,B,C”。
7. 实战案例:从身份证号提取生日
假设A2单元格有身份证号“110101199001011234”,要提取出生日期“1990-01-01”。
- 用
MID提取出生年月日:=MID(A2,7,8)返回“19900101”。 - 用
DATE函数转换:=DATE(LEFT(MID(A2,7,8),4),MID(MID(A2,7,8),5,2),RIGHT(MID(A2,7,8),2)),或者更简洁:=DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2))。
也可以结合TEXT函数格式化:=TEXT(MID(A2,7,8),"0000-00-00")得到“1990-01-01”。
8. 高级技巧:嵌套函数与数组公式
通过嵌套多个文本函数,可以实现复杂的数据清洗。例如,从混合文本中提取数字:假设A3为“订单号:2024-123”,要提取数字部分。可以使用MID配合FIND:=MID(A3,FIND(":",A3)+2,LEN(A3)-FIND(":",A3)+1)。或者用SUBSTITUTE删除非数字字符,但涉及正则时可能需要VBA。
利用TEXTJOIN结合IF和数组公式,可以连接满足条件的多个单元格。例如,=TEXTJOIN(", ",TRUE,IF(B2:B10>0,A2:A10,"")),按Ctrl+Shift+Enter输入,可合并B列大于0对应的A列值。
总结
Excel文本函数种类繁多,掌握核心几个即可应对大部分场景。建议多动手实践,结合IF、VLOOKUP等函数构建强大公式。希望本文能助您提升工作效率!