
抽出したい文字列「ABS」の直後の数値(大文字と小文字は区別されます)Excel テーブルのセル内の大量のテキスト内。
すべてのセルに探している文字列が含まれているとは限らないので、フィルターが必要です。
セルの内容は次のようになります。
Lorem ipsum dolor sit amet、consectetur adipiscing elit。前の私と、後ろから抱きしめて、そして、DUI で抱きしめて。玄関は、オークション会場の正面に位置し、正面にはオークション会場があります。 Aliquam convallis nisl auctor mauris pharetra faucibus。痛みはゼロ、不治の病は再発、苦痛はゼロ。整数は、一時的に、エリートであり、賢く、公正であり、マウリスが ipsum で異なるものである。 Vivamus tincidunt は neque sed felis accumsan tempus です。
ABS: 1.5、ADS: 2.5、SR: 11
ペレンテスクな住人は、三角の病的な、重度の、そして重度の障害を持つ。整数 vestibulum felis et lorem pretium molesti。食事は摂りません。正しい食事を摂りましょう。正しい食事を摂りましょう。自分の食事をきちんと摂りましょう。生命の日が流れ、喜びの涙が流れる。エティアムとルクトゥス・ドゥイ。
問題は、コンテンツが手動で入力されるため、構造が異なり、次のようなわずかな違いが生じる可能性があることです。
ABS : 1.5 (ABS の後のスペース)
または
ABS は 1.5 (コロンの代わりに「is」)
または
ABS = 1.5 (コロンの代わりに「=」)
または
ABS 1.5 (コロンなしのテキスト直後の数値)
....等
数値は 0 ~ 8.5 の間で 0.5 刻みになります (つまり、0、0.5、1.0、... 7.5、8.0、8.5)。
left() 関数と find() 関数の組み合わせを試してみましたが、文字列「ABS」を見つけた後に数字だけを抽出する方法がわかりません。どなたか助けていただけるか、または指示していただけると大変助かります。ありがとうございます!
答え1
この数式はABS
、....その後の最初の数値を検索し、そこから始まる数字を取得します(最大 5 文字)
=LOOKUP(10^10,MID(A1,MIN(FIND({1,2,3,4,5,6,7,8,9,0},A1&1234567890,FIND("ABS",A1))),{1,2,3,4,5})+0)
A1にデータが入ると仮定
数字が5文字を超える場合は、その{1,2,3,4,5}
部分を拡張します。
ABSが見つからない場合にエラーを回避したい場合は、IFERROR関数でラップしてみてください。
=IFERROR(LOOKUP(10^10,MID(A1,MIN(FIND({1,2,3,4,5,6,7,8,9,0},A1&1234567890,FIND("ABS",A1))),{1,2,3,4,5})+0),"")