所以我有一列这样的信息:
XC-163 0827m Timber problems
0600m failed picture cv-76
ligts out 0987m p3
... etc
我需要创建一个仅包含测量信息的列,该列位于m
之前,在这种情况下:
0827
0600
0987
关于可以使用哪些功能的任何想法?
答案 0 :(得分:1)
这是一个不错的小用户定义函数。它属于标准公共模块(alt + F11,Insert,Module)。
Option Explicit
Function fourEm(str As String)
Static rgx As Object
If rgx Is nothing Then _
Set rgx = CreateObject("vbscript.regexp")
With rgx
.Global = False
.IgnoreCase = True
.MultiLine = False
.Pattern = "[0-9]{4}(?=m)"
If .test(str) Then
fourEm = .Execute(str)(0)
End If
End With
End Function
答案 1 :(得分:1)
正则表达式非常明智,但是对于您的样本数据,以下方法也适用:
=MID(A1,FIND("m ",A1)-4,4)