“老哥,我想把这些数字提取出来,有快捷的方式吗?”办小妹一脸惆怅。 “有啊。”我看了一眼她给我看的工作表。
工具/原料
1
硬件:电脑
2
软件:Office Excel
方法/步骤
1
像这种数字没有被文字或者其它符号隔断的,可以编写个简单的VBA,使用正则提取。我按了一下Alt+F11。打开VBE。
2
打开后在“sheet1(sheet1)”右键,选择“插入”——“模块”,为该工程插入一个模块以用来编写自定义函数。
3
双击“模块”,输入:Function zztq(rng As Range)Dim reg As ObjectSet reg = CreateObject('VBScript.RegExp')With reg.Global = True.Pattern = '\d{1,}'zztq = .Execute(rng)(0)End WithEnd Function
4
“这样就可以直接当成函数使用了。”我演示着,“输入自定义的‘=zztq’还没输入完成时就自动有提示了。”
5
“就像这样,当成函数使用。” “但是我根本不懂那些代码什么意思吖。”办小妹说道。 “不懂其实也不要紧,可以将该模块导出,下次使用的时候再导入使用就可以了,只是要记得‘zztq’就行了。” “そうですね!”办小妹的日语又奔出来了,欺负我听不懂。
6
接着向下填充其他单元格,这样其他的单元格里面的数字也提取了出来。 虽然这种方法可以提取像这个例子的数字(数字没有被文字或者其他符号隔断的情况),但是如果数字被文字或者其他符号隔断的情况,只能够提取最前面部分的数字,这就是它的不足了。
注意事项
1
这种方法仅可以提取数字没有被文字或者其他符号隔断的情况
2
如果数字被文字或者其他符号隔断的情况,只能够提取最前面部分的数字