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