当前位置:首页 > 科技 > 正文

复制粘贴太慢,公式太难,这才是最强的数据处理神技

与 30万 粉丝一起学Excel


VIP学员的问题,要将字符串中的第2个数字提取出来。


粗略的看了下, 觉得没啥规律,挺乱的。公式+手工处理还行,大部分第2个数字是 30开头,而且都是8位。
=MID(A2,FIND(" 30",A2)+1,8)

Ctrl+E在这里也能提取绝大部分。

快捷键操作详见文章:

不服来试!被吹上天的Ctrl+E?究竟有多厉害!| 快捷键

以上2种方法,如果数据不多,更改个别数字还是挺快的,多的话容易看错、看漏。

如果要通用的,纯公式超级难,于是,卢子思路往VBA方面想。借助VBA的自定义函数可以全部提取。

说明:自定义函数跟普通函数不一样,精髓在VBA代码。


第4参数为0,第5参数为2,就是提取第2个数字,不管多少位都行。

=正则提取(A2,"(\d+)","+", 0, 2)


假如是提取第1个数字,将2改成1即可。
=正则提取(A2,"(\d+)","+", 0 , 1 )


当然,这段自定义代码,还有非常多的用法,比如提取全部数字,用分隔符号隔开。第4参数的0换成1,再将第5参数去掉。
=正则提取(A2,"(\d+)","+", 1)


最后,还可以对全部数字进行求和,这里换个案例,直观点。将第4参数的1改成2。
=正则提取(A2,"(\d+)","+", 2)


重点记住第4参数:
0 表示取数字中的第n个字符串
1 表示提取后和分隔符Delimiter连接起来,
2 表示求和,注意需提取数字

从上面的案例可以看出,不管多乱,都能提取任意数字,全部数字,甚至求和,接近全能的代码。


请把「Excel不加班」推荐给你的朋友

你可能想看:

有话要说...

取消
扫码支持 支付码