Excel:从单元格中提取文本,文本始终为#。#

时间:2017-02-24 01:22:11

标签: excel excel-formula

我在单元格中有一堆文本,但是许多单元格包含一些格式为#。#的文本(其中#实际上是0-9之间的数字)。

我正在使用这个可行的公式,但有时单元格中会有垃圾导致公式返回错误的信息。

= MID(B7,(FIND({ “”},B7,1)-1),3)

例如,有时一个单元格包含:“abc(1st.list)测试8.7 yay”。因此我最终得到了t。而不是所需的8.7。

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

这是一个用户定义函数,当且仅当它与您描述的模式匹配时,才会返回字符串中的数字模式。如果您描述的模式不具有代表性,那么您需要提供更好的示例:

Option Explicit
Function reValue(S As String)
    Dim RE As Object, MC As Object
Set RE = CreateObject("vbscript.regexp")
With RE
    .Global = True
    .Pattern = "\b\d\.\d\b"
    If .test(S) = True Then
        Set MC = .Execute(S)
        reValue = CDbl(MC(0))
    Else
        reValue = ""
    End If
End With
End Function

enter image description here