对于这里的所有计算机来说,这可能很简单!我想在EXCEL文本框中提取一串字符。数据集有点乱,有空格,字符和其他我不需要的文本。例如:
我需要从“ABC ABCABC12345D1”中取出ABC12345D1
"ABC,ABCABC12345D1"
"KOhn!ABCABC12345D1"
"ABCABC12345D2 ABCABC12345D1"
"ABCABC12345D1ABCABC12345D1"
"MCDONALDABCABC12345D1"
但这只是我必须提取的标识符之一。我希望有一个公式可以拖动到列的其余部分。
因此,ABCABC12345D1由
组成_ _ _前三个字符是ID
_ _ _ _ _第二部分是位置标记
_ _并且过去最少的是它是开启还是关闭(如果可以提取,我可以活着。
现在我尝试使用正确的8或10个字符,并占用所有空间,但是有更清晰的方法来提取这些数据吗?
答案 0 :(得分:0)
正则表达式?
Function Regex(Cell)
Dim RE As Object
Set RE = CreateObject("vbscript.regexp")
RE.Pattern = "(\w{6}\d{5}\w\d)"
RE.Global = True
RE.IgnoreCase = True
Set Matches = RE.Execute(Cell)
For Each res In Matches
Regex = Regex & "," & res
Next res
Regex = Mid(Regex, 2)
End Function
使用ALT + F11打开VBA编辑器 插入 - >模 将上面的代码复制粘贴到模块窗口中。 关闭VBA编辑器。
在Excel工作表中写=Regex(A1)
以激活该功能。