Excelで特定の文字より後ろを抽出するなら、Microsoft 365・Excel 2024ではTEXTAFTER関数が使えます。Excel 2021・2019・2016ではMID+FIND+LENを使います。区切り文字を結果に含めるかどうかも、数式で指定できます。
特定の文字より後ろを取り出す基本式
A1が「商品コード:ABC123」の場合、全角コロン「:」より後ろのABC123を取り出す式です。
TEXTAFTERが使えない場合は次の式を使います。
▶ TEXTAFTERの式(C1)を、練習ツールで試す / MID+FINDの式(C1)を、練習ツールで試す

まず動かしてみよう|この記事のサンプルをその場で試せます
練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。
区切り文字をセルで指定する
A1に元の文字列、B1に区切り文字を入力する形です。C1などの空きセルへ入力します。
| A1:元の文字列 | B1:区切り | 結果 |
|---|---|---|
| ABCDEFG | C | DEFG |
| 1234567 | 4 | 567 |
| 担当:田中 | 担当: | 田中 |

「特定の文字以降」に、その文字も含める場合
「ABCDEFG」のCを含めてCDEFGを返したいなら、開始位置をFINDの結果そのままにします。
最後の区切り文字より後ろを取り出す
A1が「東京-営業-田中」の場合、最後のハイフンより後ろの田中を返します。TEXTAFTERの第3引数に -1 を指定します。
区切り文字がないときは空白にする
TEXTAFTERでは第6引数に見つからない場合の値を指定できます。
▶ TEXTAFTERの第6引数(C1)を、練習ツールで試す / IFERRORの式(C11)を、練習ツールで試す
2つの文字の間だけを取り出す
A1を元の文字列、B1を開始の区切り、C1を終了の区切りとします。開始位置をD1、終了位置をE1で確認し、F1で間の文字を取り出します。

RIGHT関数を使う別の書き方
【実機で検証】取り出した数字が計算できない・見つからない原因
取り出したあとに起きやすい問題を、Excel の実機で試しました。

| 場面 | 結果 | 対処 |
|---|---|---|
| 取り出した数字を SUM する | 0(エラーは出ない) | SUM(–B2:B3) で 30。取り出す式に — を付けてもよい |
| 取り出した 10 を B2>50 で比べる | TRUE | — を付けて数値にしてから比べる |
| 全角の「-」を半角の「-」で探す | #N/A | {“-“,”-”} と両方を指定する |
| 大文字の X を小文字の x で探す | #N/A | TEXTAFTER の第4引数に 1 |
| 区切りのない文字に第5引数の 1 | 空白(元の文字は返らない) | 元の文字を返すなら IFERROR(式,元のセル) |
TEXTAFTER の結果は、数字に見えても文字です。B2+B3 の足し算は計算されましたが、SUM(B2:B3) は 0 でした。合計が合わないときは、取り出した列が文字になっていないかを確かめます。
特定の文字より後ろを抽出できない・エラーになるときの確認表
| 症状 | 主な原因 | 確認と対処 |
|---|---|---|
| #VALUE! | 区切りが元の文字列に無い/半角「:」と全角「:」、半角と全角のスペースなどが違う | 区切りを、元の文字列からコピーして貼り付ける。空白にしたいときは IFERROR(TEXTAFTERは第6引数) |
| 区切りの文字まで出てしまう | 開始位置を FIND の結果そのままにしている | +LEN(B1) を足して、区切りの直後から取り出す |
| #NAME? | TEXTAFTERが使えないExcel(2021・2019・2016)で開いている | MID+FIND+LEN の式を使う |
| 大文字・小文字が違って見つからない | FINDは大文字と小文字を区別する | 区切りの表記をそろえる。TEXTAFTERなら第4引数を 1 にすると区別しない |
1つのセルを分割したい・行ごと抜き出したい場合
カンマなどの区切り文字で1つのセルを複数のセルに分けたい場合は、カンマ区切りの文字列をTEXTSPLITで縦・横に並べる方法で詳しく解説しています。
仕様の確認:Microsoft公式・TEXTAFTER関数
関数ごとの詳しい使い方は、MID関数・FIND関数・TEXTBEFORE・TEXTAFTER関数・LEN関数・文字列関数の練習問題で、実際の Excel の画面と練習用ファイルつきで説明しています。
特定の文字より後ろの抽出のよくある質問
エクセルで特定の文字以降を抽出する関数は?
Microsoft 365・Excel 2024ではTEXTAFTER関数です。=TEXTAFTER(A1,":") で「:」より後ろを取り出します。Excel 2021・2019・2016では =MID(A1,FIND(":",A1)+LEN(":"),LEN(A1)) を使います。
特定の文字が複数あるとき、どの文字より後ろを抽出するか指定できますか?
TEXTAFTERの第3引数で指定できます。最初の区切りからなら省略、2つ目の区切りからなら 2 です。最後の区切りより後ろは =TEXTAFTER(A1,"-",-1) で、「東京-営業-田中」から「田中」を返します。
特定の文字から後ろを、その文字も含めて抽出するには?
開始位置をFINDの結果そのままにします。=MID(A1,FIND(B1,A1),LEN(A1)) で、A1が「ABCDEFG」、B1が「C」なら「CDEFG」を返します。区切りを除くときは +LEN(B1) を足します。

コメント