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)
=正则提取(A2,"(\d+)","+",
0
,
1
)
当然,这段自定义代码,还有非常多的用法,比如提取全部数字,用分隔符号隔开。第4参数的0换成1,再将第5参数去掉。
最后,还可以对全部数字进行求和,这里换个案例,直观点。将第4参数的1改成2。
1 表示提取后和分隔符Delimiter连接起来,
从上面的案例可以看出,不管多乱,都能提取任意数字,全部数字,甚至求和,接近全能的代码。
有话要说...