2017-02-24 9 views
0

セルにテキストがたくさんありますが、多くのセルには#。#の形式のテキストが含まれています(#は実際には0〜9の数字です)。Excel:テキストが常にあるセルからテキストを抽出#

私はこの式を使用していますが、大丈夫ですが、セルにジャンクがあり、数式が誤った情報を返すことがあります。

=例えば

MID(3 B7は、({ ""}(FIND、B7,1)を-1))、時には細胞が含まれています。「ABC(第1リスト。)8.7イェーイをテスト"それで私はtで終わります。希望の8.7の代わりに。

アイデア?

ありがとうございました!

+0

あなたは、このための正規表現を必要とする、と私は定期的にExcelがそのようなサポートを持っているとは思いません。 –

+1

これは、VBAのユーザー定義関数で簡単に行うことができます。 –

+0

[ループする列とセルに特定の文字が含まれているかどうかを確認する](http://stackoverflow.com/questions/42396598/loopthrough-column-and-check-if-cell-contains-specific-chars/42398975#42398975 )。 – Jeeped

答えて

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