Excelで文字の前後のテキストを抽出する
Excel では、特定の文字の前後のテキストを抽出する数式を作成できます。このチュートリアルでは、これらの数式の書き方を学びます。
1文字後のテキストを抽出する
この式では TRIM、RIGHT、SUBSTITUTE、REPT、LEN を使用する必要があります。そして、以下の例では、値に 2 つの単語の値とその間の文字があります。
=TRIM(RIGHT(SUBSTITUTE(A1,B1,REPT(" ",LEN(A1))),LEN(A1))) =TRIM(RIGHT(SUBSTITUTE(original_text,character,REPT(" ",LEN(original_text))),LEN(original_text)))
この式を理解するには、それをいくつかの部分に分ける必要があります。
最初の部分には、 SUBSTITUTE(A1,B1,REPT(" ",LEN(A1)))
があります。これは、(,) 文字をその文字の長さに等しい数のスペースに置き換える式の一部です。
「Excel アドバイザー」の間にカンマではなくスペースが入っていることがわかります。
2 番目の部分では、 =TRIM(RIGHT("Excel Advisor",LEN(A1)))
により、テキストの右側からテキストが抽出され、余分なスペースが削除されるようにトリミングされます。
キャラクターインスタンスが違う?
データを操作する場合、文字のインスタンスが複数存在する可能性があり、上記の式はそれを処理するのに役に立たない場合があります。この場合、以下の式を使用する必要があります。
=IF(LEN(A1)-LEN(SUBSTITUTE(A1,B1,""))<=1,"",MID(SUBSTITUTE(A1,B1,"^^",C1),FIND("^^",SUBSTITUTE(A1,B1,"^^",C1))+2,LEN(A1)))
この式では、テキストを抽出する文字を指定する必要があり、その文字のインスタンスが開始されます。
上の式は複雑ですが、不思議な働きをします。この数式のコードは、文字の 2 番目または N 番目の瞬間を取得するのに役立つ SUBSTITUTE 関数です。その後、その瞬間を「^^」に置き換えることで、テキストの抽出にさらに役立ちます。
ただし、新しい TEXTAFTER 関数 (OFFICE 365) を使用することもできます。この関数には、上記のような複雑な数式を使用せずに、文字の後のテキストを取得するためのすべてのオプションがあります。
関数内で文字とインスタンスを指定する必要があります。
文字の前のテキストを抽出する
以下の式を使用して、文字の前のテキストを取得できます。
これは、文字の後のテキストを取得するために使用した正確な式です。 RIGHT を使用する代わりに、LEFT を使用する必要があります。左(前)のテキストを取得します。
=TRIM(LEFT(SUBSTITUTE(A2,B2,REPT(" ",LEN(A2))),LEN(A2)))
そして、この公式はこの公式とまったく同じように機能します。分かりやすく解説していますので、ぜひ参考にしてください。
さまざまな文字インスタンス
文字の前(または後)のテキストを取得するには 2 つの方法があります。
=IF(LEN(A2)-LEN(SUBSTITUTE(A2,B2,""))<=1,"",LEFT(SUBSTITUTE(A2,B2,"^^",C2),FIND("^^",SUBSTITUTE(A2,B2,"^^",C2))-1))
Excel のどのバージョンでも使用できます。文字とインスタンスを指定してテキストを取得できます。
ただし、Excel (Office 365) を使用している場合は、この複雑な数式を使用する必要はありません。代わりに、TEXTBEFORE 関数を使用できます。
Excelファイルを取得する
ダウンロード関連する式
- Excelで水平フィルタを作成する
- Excel で星評価テンプレートを作成する
- Excelでファイル名を取得する
- Excelでシート名を取得する
- Excel でランダムな文字をすばやく生成する