- TEXTAFTER関数の基本的な使い方と引数
- 複数の区切り文字や、末尾から数えて文字列を取り出す方法
- TEXTBEFORE関数との組み合わせ技
- TEXTAFTER関数が使えない環境での代用方法
- 関数を使う上での注意点(使えない時、範囲指定など)
TEXTAFTER関数の基本的な使い方
まずは、TEXTAFTER関数がどのような関数で、どのように使うのかを見ていきましょう。
TEXTAFTER関数とは?
指定した区切り文字(デリミタ)の「後ろ」にある文字列を抽出する関数
例えば、「商品コード-サイズ-色」のようなデータから、区切り文字である「-」の後ろにある「サイズ-色」の部分を取り出す、といった操作が簡単に行えます。
書式(構文)
TEXTAFTER関数の書式は以下の通りです。
=TEXTAFTER(文字列, 区切り文字,出現番号,一致モード,末尾の一致,ない場合の処理)
文字列(必須):処理の対象となる元の文字列(セル参照でも直接入力でも可)
区切り文字(必須):文字列を区切るための文字(デリミタ)。複数指定も可能
出現番号(任意):何番目の区切り文字から後ろを取り出すかを指定(省略すると1)。マイナスを指定すると末尾から数える
一致モード(任意):大文字と小文字を区別するかどうかを指定(0:区別する/1:区別しない。省略すると0)
末尾の一致(任意):区切り文字を末尾の空白と一致させるかどうかを指定(0:空白と一致/1:空白を無視。省略すると0)
ない場合の処理(任意):区切り文字が見つからなかった場合の処理を指定(0:エラー#N/Aを返す/1:元の文字列を返す。省略すると0)
具体的な例題で確認!
まずは、一番シンプルな使い方から見ていきましょう。
例題1:最初の区切り文字の後ろを取り出す
セル A2 にある「りんご-みかん-バナナ」という文字列から、最初の「-」の後ろにある文字列(「みかん-バナナ」)を取り出してみます。

B2セルに入力する数式は以下の通りです。
=TEXTAFTER(A2,”-“)


“-“(ハイフン)を区切り文字として指定します。
出現番号を省略すると、最初(1番目)の区切り文字から後ろの文字列が返されます。
応用編:TEXTAFTER関数の「複数」指定
TEXTAFTER関数は、単に最初の区切り文字の後ろを取り出すだけでなく、様々な応用ができます。特に「複数」の区切り文字に対応できる点が便利です。
特定の「出現番号」の区切り文字の後ろを取り出す(文字数指定の代わりに)
出現番号(引数)を使うことで、何番目の区切り文字の後ろを取り出すか細かく指定できます。
これは、指定した文字数より後ろを取り出したいという場合にも、区切り文字の位置で対応できるためとても便利です。
例題2:2番目の区切り文字の後ろを取り出す
セル A2 の「東京-新宿-オフィス」という文字列から、2番目の「-」の後ろにある「オフィス」だけを取り出してみましょう。

B2セルに入力する数式は以下の通りです。
=TEXTAFTER(A2,”-“,2)


出現番号に2を指定することで、2番目のハイフンの後ろの文字列が抽出されます。
末尾(右側)から数えて文字列を取り出す
出現番号にマイナスの値を指定すると、文字列の末尾(右側)から区切り文字を数え始めます。
例題3:末尾から数えて2番目の区切り文字の後ろを取り出す
セル A2 の「北海道/札幌/中央区/大通」という文字列から、末尾から数えて2番目の「/」の後ろにある文字列(「中央区/大通」)を取り出してみましょう。

B2セルに入力する数式は以下の通りです。
=TEXTAFTER(A2,”/”,-2)


出現番号に-2を指定することで、右から2番目の区切り文字の後ろが抽出されます。
複数の区切り文字を指定する
TEXTAFTER関数の便利な点として、区切り文字に複数のデリミタ(区切り文字)を指定できることが挙げられます。指定する場合は、区切り文字を中括弧 {}で囲んで入力します。
例題4:複数の区切り文字に対応する
セル A2 の「商品A:赤;L」という文字列から、区切り文字「:」または「;」のどちらかが来たら、そのすぐ後ろの文字列を取り出してみましょう。

B2セルに入力する数式は以下の通りです。
=TEXTAFTER(A2,{“:”,”;”})


{“:”,”;”}と指定することで、「:」か「;」のどちらか最初に見つかったものの後ろを抽出します。
この例では「:」が最初に見つかるため、その後の文字列が返されます。
TEXTBEFORE関数との組み合わせ技
TEXTAFTER関数と対になる関数として、指定した区切り文字の「前」の文字列を取り出すTEXTBEFORE関数があります。
TEXTAFTERとTEXTBEFOREを組み合わせることで、文字列の中間にある特定の要素だけを抽出できます。
TEXTBEFORE関数の詳細は別記事でご紹介していますので、気になる方は下記をご覧ください。
例題5:2番目の区切り文字と3番目の区切り文字の間を取り出す
セル A2 の「製品A-100個-工場B-2025年」という文字列から、2番目の「-」と3番目の「-」の間にある「工場B」だけを取り出してみましょう。
これは、以下の手順で実現できます。
- TEXTAFTERで2番目の「-」の後ろの文字列(「工場B-2025年」)を取り出す。
- その結果を、TEXTBEFOREで最初の「-」の前の文字列(「工場B」)として取り出す。

B2セルに入力する数式は以下の通りです。
=TEXTBEFORE(TEXTAFTER(A2,”-“,2),”-“,1)


この組み合わせは、データから特定のフィールドを抽出する際に非常に役立つテクニックです!
TEXTAFTER関数が「使えない」時の代用方法
TEXTAFTER関数は古いバージョンのExcelでは使用できません。
(現在はMicrosoft 365とExcel 2021 LTSCでのみ利用可能)
もしTEXTAFTER関数が使えない場合、これまではLEFT関数、RIGHT関数、FIND関数、LEN関数などを組み合わせて同じ操作を実現していました。

ここでは、TEXTAFTER関数の代わりとして、最初の区切り文字の後ろを取り出す代用方法を紹介します。
代用例:LEFT・FIND・LEN関数の組み合わせ
セル A2 の「りんご-みかん-バナナ」から、最初の「-」の後ろを取り出す(「みかん-バナナ」)。
- FIND関数で、区切り文字「-」が何文字目にあるか調べます。
- FIND(“-“,A2) → 4
- LEN関数で、元の文字列の全体文字数を調べます。
- LEN(A2) → 15
- RIGHT関数で、文字列の右側から「全体文字数」 – 「区切り文字の位置」の文字数を取り出します。
- RIGHT(A2, LEN(A2) – FIND(“-“,A2))

C2セルに入力する代用数式は以下の通りです。
=RIGHT(A2, LEN(A2) – FIND(“-“,A2))


TEXTAFTER関数と比べると数式が複雑になりがちですが、古いバージョンを使う場合はこの組み合わせが必須です。
いかにTEXTAFTER関数が便利か実感できますね!
TEXTAFTER関数を使う上での注意点
最後に、TEXTAFTER関数を使う上での注意点や、よくあるエラーについて解説します。
使えない環境に注意
前述の通り、TEXTAFTER関数は新しい関数です。
- 使用可能:Microsoft 365、Excel for the web、Excel 2021 LTSCなど
- 使用不可:Excel 2019、Excel 2016など
作成したファイルを古いバージョンのExcelを使っている人に送る場合は、TEXTAFTER関数がエラーになる可能性があるので注意が必要です。その場合は、代用数式に置き換えるか、値として貼り付けて渡すようにしましょう。
区切り文字が見つからない場合
必須引数の区切り文字が文字列の中に存在しなかった場合、通常は#N/Aエラーが返されます。
これを避けたい場合は、第6引数ない場合の処理を指定します。
- ない場合の処理に対象セルを指定すると、区切り文字が見つからなかった場合に元の文字列をそのまま返します。
例題6:区切り文字が見つからない時の処理
セル A2 に「区切り文字なし」という文字列があり、区切り文字として「-」を探した場合。

数式:
=TEXTAFTER(A2,”-“,1,0,0,A2)
C2セルのようにない場合の処理に A2 を指定すると、エラーにならずに元の文字列が返されます。

TEXTAFTERの範囲指定(スピル機能)
TEXTAFTER関数は、スピル機能に対応しています。
これは、文字列引数に複数のセル(範囲)を指定すると、数式をコピーしなくても、結果が自動的に下のセルに展開される機能です。
例題7:範囲指定(スピル)の活用
セル A2:A4 にデータが入っている場合に、B2セルに一つの数式を入力するだけで、B3、B4にも結果が自動で表示されます。

B2セルに入力する数式は以下の通りです。
=TEXTAFTER(A2:A4,”/”)


これは大量のデータ処理を行う際に非常に便利な機能です。
数式を入力するセルと、結果が表示されるセルが重なっていると#SPILL!エラーになるので、結果を表示したい範囲は空白にしておきましょう。
まとめ:TEXTAFTER関数を実務に活かそう!
TEXTAFTER関数は、文字列の抽出作業がシンプルになる便利な関数です。
| ポイント | 詳細 |
|---|---|
| 基本的な役割 | 区切り文字の「後ろ」にある文字列を取り出す |
| 複数の指定 | 出現番号で何番目から取り出すか指定可能。マイナスで末尾から数えられる |
| 区切り文字 | 中括弧 {} を使って複数の区切り文字を指定できる |
| 組み合わせ | TEXTBEFORE関数と組み合わせることで、中間にある特定の文字列を抽出できる |
| 注意点 | Microsoft 365など新しいバージョンでのみ利用可能。古いバージョンでは複雑な代用数式が必要 |
もしこの記事を読んでTEXTAFTER関数が少しでも身近に感じてもらえたら嬉しいです。
コメント