excel 文本截取函数LEFT、RIGHT、MID及应用案例

用于文本截取的函数有3个,LEFT、RIGHT、MID,可以从指定位置截取指定数量的字符;还有基于截取字节的LEFTB、RIGHTB、MIDB,不常用 , 也很简单 。
LEFT函数语法:=LEFT(字符, [提取字符数]),从文本字符串的第一个字符开始返回指定个数的字符 。
RIGHT函数与LEFT函数语法相同 , 根据所指定的字符数返回文本字符串中最后一个或多个字符 。
MID函数语法:=MID(字符, 开始字符数, 提取字符数) , 返回文本字符串中从指定位置开始的特定数目的字符 , 该数目由用户指定 。
需要注意的是以上函数中提取字符数必须是>0的整数,如果提取字符数大于字符长度,则返回从所有字符;MID函数的开始字符数,包含开始提取的第一字符本身,且必须是>0的整数,如果大于字符长度,则返回空 。


接下来看一下几个函数的用法:
excel 文本截取函数LEFT、RIGHT、MID及应用案例

在D4单元格中输入,=LEFT(C4,2),双击填充,公式从左则提取2个字符 。
在E4单元格中输入,=LEFTB(C4,2),双击填充,公式从左则提取2个字节 。
【excel 文本截取函数LEFT、RIGHT、MID及应用案例】在F4单元格中输入,=RIGTH(C4,2),双击填充 , 公式从右则提取2个字符 。
在D4单元格中输入,= RIGTHB(C4,2),双击填充,公式从右则提取2个字节 。
可以看得出来,汉字、英文、数字一个字是1个字符 。汉字一个字是2个字节、英文、数字一个字是1个字节 。关于字符与字节的区别 , 可以在网络上自行查询学习 。

再来看一下MID的用法 。
excel 文本截取函数LEFT、RIGHT、MID及应用案例

在H4单元格中输入,=MID(C4,5,2),双击填充,公式从第5个(含第5个)字符开始提取2个字符 。
在I4单元格中输入,=MIDB(C4,5,2),双击填充 , 公式从第5个(含第5个)字节开始提取2个字节 。
3个函数一般会配合其它函数综合应用,比如配合FIND、SEARCH函数 , 后面会讲解 。

看2个使用文本提取函数有关的综合案例
案例1:提取身份证号码中的出生年月日
分析下,身份证号码中第7-14位是出生年月日 , 共8位,是固定的 。
excel 文本截取函数LEFT、RIGHT、MID及应用案例

在D10单元格中输入,=MID(C10,7,8),从第7位开始,提取8位,就得到了年月日 。如果想让数字更易读,可以使用TEXT函数进行格式化,比如=TEXT(MID(C10,7,8),"0000年00月00日") 。
案例2:提取文本中的数字 。从简单的来,前提是确定数字的位置,但数字有多少个不确定 。
先分析下 , 位置固定,根据情况使用LEFT或RIGTH,案例中使用RIGTH 。
接下来需要确定提取多少个字符 , 可以使用字符与字节区别的特性,汉字一个字是1个字符或2个字节,数字一个字是1个字符也是1个字节 , 可以使用LEN函数与LENB函数,找出字符与字节的差异数量就是数字的字符数 。看公式
excel 文本截取函数LEFT、RIGHT、MID及应用案例

在D13单元格中输入,=RIGHT(C13,LEN(C13)*2-LENB(C13)) , 就可以得到文本中的数字 。
加大一点难度,数字在文本中位置不确定、数字有多少个也不确定 。
分析下:在文本中,需要使用MID函数 。数字多少个,使用上个案例中的方法;位置不确定,可以使用ROW函数生成一个动态数组 , 从1开始 , 到一个足够大的值作为开始字符数,这里使用30 , 足够了 。这样就从第1到第30个字符开始截取,会提到一个数组 , 其中只有一个是包含完整数字的 。MID提取的数字是文本类型,可以使用文本转数值的函数或其它技巧转成数值,然后再使用LOOKUP函数提取近似值 。
excel 文本截取函数LEFT、RIGHT、MID及应用案例

先在D14单元格中输入 , =MID(C14,ROW(1:30),LEN(C14)*2-LENB(C14)),得到一个数组 。然后使用添加”--"号或 0的方式,把文本型的数字转成数值型数字 , 如果不是数字就得返回一个错误值 。这是一个很好用技巧,在写公式的过程中要充分利用这个特性 。
接下来在外面写LOOKUP函数, LOOKUP的模糊匹配特性会返回接近这个值的数字 。最后的公式是:=LOOKUP(9^9,--MID(C14,ROW(1:30),LEN(C14)*2-LENB(C14)) 。

相关经验推荐