打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
一个Excel字符提取案例,用了3种方法和10个函数,堪称集大成者

有这样一个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,可以说,掌握这些常用的文本提取函数,任何形式的字符提取你都手到擒来。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
用excel公式分离数字和汉字,想不到会这么简单!
文本数字拆分技巧
巧用函数提取Excel单元格中的混合文本
函数初级之认识文本函数 - huayi
提取文本中的数字,前方高能
提取汉字,除了快速填充外,这招也很实用,需要速码
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服