Microsoft Excel でテキストを分割および抽出する方法
Microsoft Excel には、テキストを操作するための一連の関数が用意されています。テキスト文字列の一部を抽出する場合でも、文字列を行または列に分割する場合でも、その作業を行う 3 つの関数があります。
TEXTBEFORE と TEXTAFTER を使用すると、特定の単語または文字の前後にテキストを出力できます。これにより、これらの関数は、使用できる LEFT、RIGHT、および MID 関数よりも柔軟になります。文字列を異なるセルに分割するには、TEXTSPLIT を使用できます。
ノート。これら 3 つの関数は、2022 年 8 月の時点で Excel に新しく追加されました。時間の経過とともに、Office Insider にロールアウトされ、その後、すべての Excel ユーザーにロールアウトされます。
TEXTBEFORE 関数
関数の構文は次のようになりますTEXTBEFORE(text, delimiter, instance, match_mode, match_end, if_not_found)
。最初の 2 つの引数はtext
、実際のテキストまたはセル参照のいずれかdelimiter
であり、テキストを取得するポイントであるため必須です。
以下は、3 つのオプション引数の説明です。
- インスタンス: 文字列に複数のオカレンスがあり、特定のオカレンスが必要な場合は、この引数を使用します
delimiter
。 - Match_mode: 大文字と小文字を区別する場合は 0、大文字と小文字を区別しない場合は 1 を入力します。デフォルト値は 0 です。
- Match_end: テキストの最後まで区切り文字を一致させるには 0 を入力し、それを一致させるには 1 を入力します。デフォルトは 1 です。
- if_not_found: 値が見つからないというエラーよりも結果を好む場合は、この引数を使用します。
引数がわかったところで、TEXTBEFORE の使用例をいくつか見てみましょう。
この最初の例では、次の式を使用して、セル A2 の単語「from」の前のすべてのテキストを抽出します。
=TEXTBEFORE(A2,"from")
次の式を使用して、「text」という単語が 2 回出現する前のすべてのテキストを抽出します。
=TEXTBEFORE(A2,"text",2)
さらに別の例ではmatch_mode
、大文字と小文字を区別する一致に引数を使用します。
=TEXTBEFORE(A2,"TEXT",,0)
TEXTAFTER 関数
TEXTAFTER は、TEXTBEFORE の正反対です。関数の構文は次のようになりますTEXTAFTER(text, delimiter, instance, match_mode, match_end, if_not_found)
。
対応するものと同様に、最初の 2 つの引数は必須ですtext
。これらは実際のテキストまたはセル参照delimiter
であり、その後にテキストが必要なポイントです。
上記の 3 つのオプション引数も、TEXTBEFORE 関数と同じように機能します。
この最初の例では、次の式を使用して、セル A2 の「from」という単語の後のすべてのテキストを抽出します。
=TEXTAFTER(A2,"from")
次の式を使用して、単語「text」の 2 番目のインスタンスの後のすべてのテキストを抽出します。
=TEXTAFTER(A2,"text",2)
最後にmatch_mode
、大文字と小文字を区別する match 引数を使用します。
=TEXTAFTER(A2,"TEXT",,0)
TEXPLIT関数
TEXTSPLIT 関数を使用すると、スペースやピリオドなどの区切り記号に基づいて、テキストを行または列のセルに分割できます。
この構文TEXTSPLIT(text, column_delimiter, row_delimiter, ignore, match_mode, pad_with)
には、実際のテキストまたはセル参照を指定できる最初の引数が必要です。デフォルトでは、式はテキストを列に分割しますが、代わりに文字列とrow_delimiter
引数を使用できます。
残りの引数の説明は次のとおりです。
- 無視: 2 つの区切り文字が連続している場合に空のセルを作成するには、FALSE を入力します。デフォルト値は TRUE です。
- Match_mode: 大文字と小文字を区別するデフォルト値に一致する区切り文字を探します。
- Pad_with: 結果をパディングするには、値を入力します。それ以外の場合、#N/A エラーが表示されます。
この例では、セル A2 のテキスト文字列を複数の列に分割し、スペースcolumn_delimiter
を引用符で囲みます。式は次のとおりです。
=TEXTSPLIT(A2,"")
文字列を列で分割する代わりに、row_delimiter
次の式で私たちのようなスペースを使用して行で分割します。
=TEXTSPLIT(A2,,"")
この式ではcolumn_delimiter
、引数を空のままにして、row_delimiter
.
次の例では、セミコロンの直後で別の列に分割します。
=TEXTSPLIT(A2,";")
次に、セミコロンの直後を列ではなく行に分割します。
=TEXTSPLIT(A2,,";")
TEXTSPLIT 関数は強力です。オプションの引数を使用した高度な例が必要な場合は、TEXTSPLIT 関数の Microsoft サポート ページにアクセスしてください。
次にセルからテキストを抽出したり、長いテキスト文字列を分割したりする場合は、これらの Excel 関数を念頭に置いてください。
コメントを残す