Excel函数实战系列 第6期
Excel函数实战系列 第6期
Excel函数实战系列 第6期
小伙伴们,今天继续我们的函数实战系列,今天我们更新到第6期。现有各省市的地址和联系电话混合在一起,要分别提取出来每个地区的联系方式。这和我们在说到文本函数时举的例子大致相同,这个例子主要是电话号码后面跟着地址,没有办法直接用MID函数来提取。解决这类问题的方法很多,今天大概介绍3种方法,其中一种是WPS的正则函数,365新函数。第一种的思路是利用字符和字节的长度规律来达到结果。我们知道英文和数字和在输入法是英文状态下输入的标点符号是1个字节,汉字和中文状态下输入的标点符号是2个字节。那么汉字和中文状态下输入的标点符号用LEN计算,是1,用LENB计算是2.英文和数字和在输入法是英文状态下输入的标点符号用LEN和LENB计算,都是1.那么我们可以利用这个规律,用2乘以LEN减去LENB,正好可以得到字符串中单字节的个数。取得第一个数字的位置,这个我们说过,可以用SEARCHB,有了这个思路,就好办了,公式如下:=MIDB(A2,SEARCHB("?",A2),2*LEN(A2)-LENB(A2))字符串中的标点符号要是中文状态下输入的,否则可能会出错。第二种方法的思路有点暴力破解的感觉。牵扯到我们前面说过的数组基础知识里面的运算知识,如果,数组基础知识不理解,会有点吃力。我们从第1位开始,截取1,2,3,4,5,6,7,8,9,10,11位。得到下面的数据"河","河南","河南:","河南:1","河南:19","河南:199","河南:1999","河南:19999","河南:199999","河南:1999999","河南:19999999"然后从第2位开始,同样截取1,2,3,4,5,6,7,8,9,10,11位。一直从第一个非常大的数字,超过字符串的长度的数字为止。这样我们得到是一堆有文本数字的数据区域,可以按F9来查看结果。然后我们通过四则运算,把文本变为错误值,里面那个最大的数字就是我们想要的结果。=MAX(IFERROR(--MID(A2,ROW($1:$100),COLUMN(A:K)),))IFERROR函数我们前面说过,是把错误值变为0.这个WPS函数和EXCEL中的正则函数不太一样,EXCEL中好像是两个函数,一个提取,一个替换,WPS中一个REGEXP函数就包括提取和替换功能。不简单的是这个函数的第二个参数,如果不懂正则匹配规则的话,会很难理解,我也用不了复杂的代码,只会简单的。但是平时的工作中,也遇不到非常困难、复杂的实际需要。好了,今天就聊到这,这几个函数经典使用套路,很容易掌握,平时我们在工作中也经常用到,小伙伴们要多加练习,熟练掌握他们的用法和需要注意的事项。有什么不懂的地方,或在工作中遇到的实际问题,打到评论区,让我们一起搞定他!
本文来自网友投稿或网络内容,如有侵犯您的权益请联系我们删除,联系邮箱:wyl860211@qq.com 。