从一列单元格中提取特定信息的公式

时间:2018-10-04 09:58:17

标签: excel

所以我有一列这样的信息:

XC-163 0827m Timber problems
0600m failed picture cv-76
ligts out 0987m p3
... etc

我需要创建一个仅包含测量信息的列,该列位于m之前,在这种情况下:

0827
0600
0987

关于可以使用哪些功能的任何想法?

2 个答案:

答案 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

enter image description here

答案 1 :(得分:1)

正则表达式非常明智,但是对于您的样本数据,以下方法也适用:

=MID(A1,FIND("m ",A1)-4,4)