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ファイルを取得する

ダウンロード

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です