首页 > sem优化 > sem优化工具下载 > 神一样的函数助你实现数字文本字母快速拆分
2018
05-18

神一样的函数助你实现数字文本字母快速拆分

最近一直在知乎专栏写一些关于EXCEL的东西,分享一些简单的小技巧,随着内容增多偶尔也会收到一些小伙伴的提问,这部最近就越到了一个蛮有意思的问题。

神一样的函数助你实现数字文本字母快速拆分 - 第1张  | 搜豪的那点事

 

作为一个以懒著称的人,对于这种问题还是蛮感兴趣的,这部趁着泡脚的时间写了个简单的教程,在此也和各位分享一下。

首先分析问题背景,在单元格中有汉子(谷歌输入法是什么情况,打个汉字跑出来个汉子),有数字,有英文字母,第一个想到的是通过len函数和lenb函数解决,但是考虑到可能是无规律的混排数字或复复杂的内容,解决起来比较麻烦,只好放弃。

神一样的函数助你实现数字文本字母快速拆分 - 第2张  | 搜豪的那点事

 

后来又深入的思考了下发现使用函数解决这个问题难度貌似不是一般的大,因为各种组合情况会复杂很多,其中汉字和字母的情况可能比较简单,但是数字就可能比较复杂了,比如可能会有货币符号,会有小数等。

神一样的函数助你实现数字文本字母快速拆分 - 第3张  | 搜豪的那点事

 

最终选择用简单的VBA代码的形式实现,写完之后效果也还可以,但是代码中涉及到单元格的引用,有些时候给一些基础不是很好的表姐表妹们使用起来,可能不那么友好,思前想后,最后决定把这段代码自定义成一个简单的函数。

STR(引用单元格,返回类型参数),其中第一个参数就是字符串所在的单元格,第二个参数是关于需要返回的值:
1:返回汉字
2:返回字母
3:返回数字

定义完毕之后回到单元格就会多出一个叫做STR的函数,这个默认excel里面是没有的哟!

神一样的函数助你实现数字文本字母快速拆分 - 第4张  | 搜豪的那点事

 

具体效果如下:

神一样的函数助你实现数字文本字母快速拆分 - 第5张  | 搜豪的那点事

 

最后奉上简单的思路:

1.定义一个全局函数类型为string ,函数两个参数分别是range和index

2.利用for循环取出每一个字符中所包含的内容,然后进行对应的判断;

3.为函数返回赋予的值;

老规矩代码如下:

神一样的函数助你实现数字文本字母快速拆分 - 第6张  | 搜豪的那点事

最后你可以把这个作为加载项放到你的excel里面,之后就可以随时调用了哟!

想想就很开心的!

最后编辑:
作者:yjcdj
这个作者貌似有点懒,什么都没有留下。