エクセルで特定の文字より前または後ろを抽出できる、TEXTBEFORE関数とTEXTAFTER関数の使い方をご紹介します。すべてのオプション要素についても詳しく解説しているので、ぜひ参考にしてみてください。
(Microsoft 365 または Web版Excelで使える新しい関数です。Excel 2021 以前のバージョンでは使えません。)
TEXTBEFORE関数の使い方
TEXTBEFORE関数の使い方や、構文について解説します。区切り文字より後ろを抽出するTEXTAFTER関数も構文やオプションは同じなので、セットで覚えておきましょう。
TEXTBEFORE関数とは?
TEXTBEFORE関数は対象の「文字列」から、「区切り文字」より前にあるテキストを返します。
例えば区切り文字に”@”を指定すると、文字列(abc@gmail)から”@”より前にあるテキスト「abc」を返します。
TEXTBEFORE関数の必須要素:(文字列,区切り文字)
TEXTBEFORE関数の構文
TEXTBEFORE関数とは?で解説した通り、最も基本的な要素は①textと②delimiterの2つです。
3番目以降の要素はオプションのような役割があり、すべて省略可能です。要素③~⑥の役割については、後ほど詳しく解説します。
- text:検索対象のテキスト。
- delimiter:抽出する前のポイントを示す区切り文字。
- instance_num:区切り文字が複数存在する場合の、ポイントを示す区切り文字の番号。
- match_mode:大文字と小文字を区別する(0または1)。
- match_end:区切り文字が存在しない場合、テキストの末尾を区切り文字とする(0または1)。
- if_not_found:一致する区切り文字が見つからない場合に返す値。
TEXTBEFORE関数の構成要素:(①text,②delimiter,③[instance_num], ④[match_mode], ⑤[match_end], ⑥[if_not_found])
TEXTBEFORE関数の構文解説
TEXTBEFORE関数とTEXTAFTER関数の省略可能な要素③[instance_num], ④[match_mode], ⑤[match_end], ⑥[if_not_found])について、指定方法や役割を解説します。
instance_num(区切り文字の番号)
3番目の要素(instance_num)は検索対象の文字列に区切り文字が複数存在する場合に、何番目の区切り文字を抽出ポイントとするかを指定します。
省略すると「1」と認識され、最初に出現する区切り文字を抽出ポイントと認識します。
「instance_num」に負の数を指定すると、テキストの最後から区切り文字を検索します。
match_mode(大文字と小文字を区別する)
4番目の要素(match_mode)は、区切り記号の大文字と小文字を区別するかを指定します。省略すると 0 と認識され、大文字と小文字は区別されます。
- 0:大文字と小文字を区別します。
- 1:大文字と小文字を区別しません。
match_end(テキストの終わりを区切り文字とする)
5番目の要素(match_end)は、区切り文字の検索が末尾まで到達した時点で、テキストの終わりを区切り文字として扱うかを指定します。
- 0:区切り文字が見つからないまま末尾まで到達した場合、そのままエラーとします。
- 1:区切り文字が見つからないまま末尾まで到達した場合、区切り文字をテキストの終わりと一致させます。
TEXTAFTER関数は区切り文字より後ろの文字列を返すため、テキストの終わりを区切り文字として扱った場合空白文字(“”)を返します。
if_not_found(見つからない場合の値)
6番目の要素(if_not_found)は、区切り文字が見つからなかった場合に出力する値を指定します。
省略すると、「#N/A」エラーが表示されます。