0
我在單元格中有一堆文本,但許多單元格包含##格式的一些文本(其中#實際上是從0-9 )。Excel:從文本始終爲#的單元格中提取文本#
我使用這個公式,它工作正常,但有時在單元格中有垃圾,導致公式返回錯誤的信息。
= MID(B7,(FIND({ 「」},B7,1)-1),3)
例如,有時一個單元包含:「ABC(第一列表。)測試8.7耶」。因此,我以t結束。而不是理想的8.7。
任何想法?
謝謝!
我在單元格中有一堆文本,但許多單元格包含##格式的一些文本(其中#實際上是從0-9 )。Excel:從文本始終爲#的單元格中提取文本#
我使用這個公式,它工作正常,但有時在單元格中有垃圾,導致公式返回錯誤的信息。
= MID(B7,(FIND({ 「」},B7,1)-1),3)
例如,有時一個單元包含:「ABC(第一列表。)測試8.7耶」。因此,我以t結束。而不是理想的8.7。
任何想法?
謝謝!
這裏是一個用戶自定義函數,它將在字符串中返回一個數字模式,當且僅當它符合您描述的模式。如果你所描述的模式是不完全的代表,您需要提供一個更好的例子:
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
你需要一個正則表達式這一點,我不認爲常規Excel有這樣的支持。 –
您可以使用VBA用戶定義函數輕鬆完成此操作。 –
請參見[循環訪問列並檢查單元格是否包含特定字符](http://stackoverflow.com/questions/42396598/loop-through-column-and-check-if-cell-contains-specific-chars/42398975#42398975 )。 – Jeeped