龙空技术网

Excel经典问题:提取字符串,一个案例涉及3种方法和10个函数

精进圈 513

前言:

目前你们对“字符串截取的方法”大致比较珍视,你们都需要分析一些“字符串截取的方法”的相关文章。那么小编在网上汇集了一些有关“字符串截取的方法””的相关资讯,希望朋友们能喜欢,大家快快来学习一下吧!

堪称进阶Excel的集大成旗舰系列课《48天,Excel技能脱胎换骨》,试学之后才知道有多厉害……,点击下面卡片了解详情:

有这样一个Excel经典问题,如下图开户行和银行账户写在同一个单元格中,需要将银行账号分离出来。

解决这个问题并不难,我相信大多数同学都能想到不止一种方法,比如:

①快速填充法

②分列法

③Right函数法

这个问题虽然简单,但是它引出了Excel中一大类问题:如何在Excel中分离任何位置的字符串?比如,就上图所示的问题,上面给出的三种方法真的都可以么,我们来分析分析:

▌快速填充

这个方法可以很好的解决数据不规整的的提取问题,但是这个方法只能使用一次,如果数据变化,需要重新进行填充。

▌分列

看以上数据特点:

①无固定长度,因此不能以【固定字符】进行拆分;

②并不是所有文字与数字之间都存在【空格】,因此无法以【分隔符号】进行拆分;

所以分列法并不可行

▌Right函数

=SUBSTITUTE((RIGHT(B3,LEN(B3)*2-LENB(B3)))," ","")

所以,你看,对于Excel提取账号这个问题,看似简单,但是由于数据情况的不同,并不是所有的方法都适用,这其实是一个套路很深的Excel经典问题,通过这个问题,可以扩展出来很多知识点。

1、账号提取的三个思路

三个思路:快速填充、分列、函数法

分列和快速填充我们在过去的文章中讲过很多,比较容易理解,这里重点讲解函数法:

=SUBSTITUTE((RIGHT(B3,LEN(B3)*2-LENB(B3)))," ","")
2、RIGHT函数提取字符

首先对主函数RIGHT的分析,如下图所示:

RIGHT函数需要确定第二个参数,即从字符串右端需要返回的字符的个数,这个应该怎么确定呢?

1.对于中文来说,LENB按 2个字节计数,而LEN按 1 个字节计数;

2.对于数字、空格来说,不管是LEN还是LENB都是按 1 个字节计数;

3.数字(含空格)的个数

=(中文个数+数字个数)*2-(中文个数*2+数字个数)=LEN(B3)*2-LENB(B3)

3、MID函数提取字符

MID函数是用来截取处于中间位置的字符的,他有一个兄弟函数MIDB,它也属于MID函数大类,这两者有什么区别呢?MID,不分英文、中文的。一个英文字母和一个汉字都是一个数。而MIDB,就有区分,一个英文字母为一个字符,一个汉字为两个字符。

正是利用MIDB函数对中英文字符的判定的特性,可以用它来提取复杂的字符串。

=TRIM(MIDB(B3,SEARCHB("?",B3),LENB(B3)))
4、LOOKUP函数提取字符

关于LOOKUP函数的详细用法,我写过一个教科书级的图文教程,通过6张图片就能完全掌握LOOKUP最基础、最地道、最核心的用法,可以看这篇教程来学习。

Excel中的万能查找函数LOOKUP,全在这六张卡片中!

而使用LOOKUP函数提取本案例中的字符,写出的公式是这样的:

=LOOKUP("A",TRIM(RIGHT(B3,ROW($1:$30))))

当然,使用LOOKUP还可以写出其他的公式形式,也能完成本案例的字符提取:

=LOOKUP("A",TRIM(RIGHT(B3,ROW($1:$30))))

你看,通过一个小小的提取字符案例,我们学习了Excel的快速填充、分列和11个Excel常用函数,他们分别是RIGHT、LEN、LENB、MID、MIDB、SUBSTITUTE、LOOKUP、TRIM、ROW,SEARCH、FIND,可以说,掌握这些常用的文本提取函数,任何形式的字符提取你都手到擒来。

标签: #字符串截取的方法