顾乔芝士网

持续更新的前后端开发技术栈

神奇!Excel字符串截取函数三剑客,20 种超实用用法全知道

在日常办公中,我们常常会被 Excel 的数据处理难题搞得焦头烂额。比如,面对一列包含员工姓名和工号的文本数据,像 “张三 - 001”“李四 - 002”,要把工号单独提取出来用于数据分析;又或者从一长串产品描述 “[品牌名] 产品,型号 [具体型号],价格 [X] 元” 里,精准分离出价格数字。这些看似琐碎却又高频出现的任务,往往耗费我们大量时间。而 Excel 强大的截取函数,就是解决这些问题的 “秘密武器”,掌握它,能让你的办公效率实现质的飞跃。

一、函数基础语法速览

在正式开启复杂的应用场景探索前,我们先来熟悉一下这三个函数的基础语法。

1.LEFT 函数

LEFT 函数用于从文本字符串的左侧开始提取指定数量的字符。其语法结构为:

LEFT(text, num_chars)
  • text:必需参数,表示要提取字符的文本字符串,可以是直接输入的文本,也可以是单元格引用,比如 "Hello World" 或者 A1(假设 A1 单元格中存储了文本) 。
  • num_chars:可选参数,指定要提取的字符数量。如果省略该参数,默认值为 1 。例如:
=LEFT("Excel技巧", 3)

这个公式会返回 "Excel" 的前三个字符,即 "Exc"。

2.RIGHT 函数

RIGHT 函数与 LEFT 函数相对应,它是从文本字符串的右侧开始提取指定数量的字符。语法如下:

RIGHT(text, num_chars)

参数含义与 LEFT 函数类似,text是要处理的文本字符串,num_chars是要提取的字符数。举例:

=RIGHT("数据分析实战", 3)

执行结果为 "实战",即从 "数据分析实战" 这个字符串的右侧提取了三个字符。

3.MID 函数

MID 函数的功能更为灵活,它可以从文本字符串的指定位置开始,提取指定长度的字符。语法为:

MID(text, start_num, num_chars)
  • text:要提取字符的文本字符串。
  • start_num:指定要开始提取的字符位置,该位置从 1 开始计数 。
  • num_chars:要提取的字符数。例如:
= MID("数据挖掘与分析", 3, 4)

这个公式会从 "数据挖掘与分析" 的第 3 个字符开始,提取 4 个字符,结果为 "挖掘与分"。

二、20种超实用用法

(一)基础用法(1-5)

1.提取姓氏(假设姓名在A1单元格,格式为"张三")

=LEFT(A1,1) 
→ 返回"张"

2.提取文件扩展名

=RIGHT(A1,LEN(A1)-FIND(".",A1)) 
→ 从"document.xlsx"返回".xlsx"

3.提取域名(从邮箱中)

=MID(A1,FIND("@",A1)+1,LEN(A1)) 
→ 从"user@example.com"返回"example.com"

4.提取日期中的月份(A1为"2023-05-15")

=MID(A1,6,2 → 返回"05"

5.提取固定长度编码(从产品编号中提取前3位)

=LEFT(A1,3)
→ 从"ABC12345"返回"ABC"

(二)进阶用法(6-15)

6.提取两个特定字符之间的内容

=MID(A1,FIND("[",A1)+1,FIND("]",A1)-FIND("[",A1)-1) 
→ 从"价格[100]元"返回"100"

7.提取倒数第N个字符后的内容

=RIGHT(A1,LEN(A1)-FIND("@",A1)) 
→ 从"user.name@example.com"返回"example.com"

8.提取不固定长度的姓氏(处理复姓)

=IF(OR(LEFT(A1,2)="欧阳",LEFT(A1,2)="司马"),LEFT(A1,2),LEFT(A1,1))

9.提取手机号码中间4位

=MID(A1,4,4) → 从"13812345678"返回"1234"

10.提取网址的顶级域名

=RIGHT(A1,LEN(A1)-FIND(".",A1,FIND(".",A1)+1)) 
→ 从"www.example.co.uk"返回"co.uk"

11.提取带分隔符的文本部分(如CSV中的第二项)

=MID(A1,FIND(",",A1)+1,FIND(",",A1,FIND(",",A1)+1)-FIND(",",A1)-1)

12.提取金额中的整数部分

=LEFT(A1,FIND(".",A1)-1) → 从"1234.56"返回"1234"

13.提取特定长度的随机样本

=MID(A1,RANDBETWEEN(1,LEN(A1)-5),5) 
→ 从长文本中提取随机5个字符

14.处理混合大小写的文本

=UPPER(LEFT(A1,1))&LOWER(MID(A1,2,LEN(A1)))
→ 将首字母大写

15.提取特定格式的日期部分(如"2023年05月15日"中的月份)

=MID(A1,6,2) → 返回"05"

(三)高级技巧(16-20)

16.动态提取最后N个字符

=RIGHT(A1,N) 
→ 提取最后N个字符(N可为公式计算结果)

17.提取变长编码的最后部分

=RIGHT(A1,LEN(A1)-MAX(IFERROR(FIND({"-","_"," "},A1),0)))

18.处理多分隔符文本(提取最后一个分隔符后的内容)

=TRIM(RIGHT(SUBSTITUTE(A1," ",REPT(" ",100)),100))

19.创建自定义文本掩码

=LEFT(A1,2)&REPT("*",LEN(A1)-4)&RIGHT(A1,2) 
→ 将"abcdefgh"转为"ab****gh"

20.结合其他函数实现复杂提取

=MID(A1,AGGREGATE(15,6,FIND({"a","b","c"},A1),1),3) 
→ 查找a、b或c首次出现的位置后取3个字符

三、实用技巧

错误处理:使用IFERROR处理找不到字符的情况

=IFERROR(FIND("@",A1),0)

动态长度计算:结合LEN函数实现动态提取

=LEFT(A1,LEN(A1)-4) 
→ 移除最后4个字符

数组公式应用(Excel 365或2019+):

=BYROW(A1:A10,LAMBDA(x,LEFT(x,3))) 
→ 对每行数据提取前3字符

性能优化:对大范围数据使用静态长度而非计算长度

四、总结与建议

Excel 中的字符串和数字截取方法丰富多样,LEFT、RIGHT、MID 等函数公式适用于简单、常规的数据截取任务,操作便捷,容易上手;数据分列功能凭借其直观的操作方式,在处理有明显分隔符的数据时优势显著;VBA 编程则为那些对灵活性和自定义性要求极高的用户提供了强大支持,能够攻克复杂的数据处理难题;而 Power Query 在大规模数据处理和复杂数据转换场景中展现出了独特的优势 。

在实际工作中,面对不同的数据处理需求,我们应根据具体情况灵活选择合适的截取方法 。建议大家多在实际项目中练习这些技巧,尝试用不同方法解决同一问题,加深对各种方法的理解和掌握 。只有不断实践,才能在遇到数据处理难题时,迅速找到最佳解决方案,让 Excel 成为我们高效办公的得力助手 。


控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言