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

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

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

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

例如,有时一个单元格包含:“abc(1st。list)testing 8.7 yay”。 因此,我结束了。 而不是理想的8.7。

有任何想法吗?

谢谢!

这里是一个用户定义的函数,它将返回string中的数字模式,当且仅当它符合您描述的模式。 如果你描述的模式不完全代表,你需要提供一个更好的例子:

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 

在这里输入图像说明