本記事には広告(PR)が含まれます。
くわしくは プライバシーポリシー をご確認ください。
Excelで品コードや注文No.を整理していて、「右から3文字だけ取り出したい」「右から2文字目の文字を確認したい」と思ったことはありませんか?
末尾の3文字などをまとめて取り出すなら、RIGHT関数が便利です。一方、「右から2文字目だけ」「末尾より少し手前の3文字」などを取り出す場合は、LEFT・RIGHT関数やMID・LEN関数を組み合わせます。
私もパート先で、品コードや注文No.の一部を取り出すときに文字列操作の関数を使っています。文字数が決まっている場合は、RIGHT関数やMID関数が便利です。
この記事では、右から3文字・5文字を取り出す方法、右から2文字目など特定の位置の文字を取り出す方法、ハイフン「-」などの区切り文字の後を取り出す方法を、初心者向けに解説します。
この記事でできること
Excelで右から何文字か・何文字目を抽出する方法
「右から3文字」と「右から3文字目」の違い
最初に、「右から何文字」と「右から何文字目」の違いを確認しましょう。
たとえば、A2セルに AB-12345 が入っている場合、取り出す文字は次のように変わります。
| やりたいこと | 抽出結果 | 考え方 |
|---|---|---|
| 右から3文字を取り出す | 345 | 末尾の3文字をまとめて取り出す |
| 右から3文字目だけ取り出す | 3 | 右端を1文字目として、3番目の1文字を取り出す |
| 右から2文字目だけ取り出す | 4 | 右端を1文字目として、2番目の1文字を取り出す |
「何文字」は取り出す文字数、「何文字目」は取り出す位置を表しています。目的に合う方法を選んでみてください。
右から3文字・5文字を抽出する|RIGHT関数
RIGHT関数は、文字列の右端から指定した文字数を取り出す関数です。
基本の書き方は次のとおりです。
=RIGHT(文字列,文字数)

「文字列」には元データのセル、「文字数」には取り出したい文字数を指定します。
たとえば、A2セルの AB-12345 から右側の文字を取り出す場合は、次の数式を使います。
| 取り出したい文字 | 数式 | 結果 |
|---|---|---|
| 右から3文字 | =RIGHT(A2,3) |
345 |
| 右から5文字 | =RIGHT(A2,5) |
12345 |
| 右端の1文字 | =RIGHT(A2,1) |
5 |
右から3文字を取り出す手順は、次のとおりです。
- 元データをA列に用意します。
- 結果を表示したいB2セルを選択します。
=RIGHT(A2,3)と入力し、[Enter]キーを押します。- B2セルの右下にある小さな四角(フィルハンドル)を下へドラッグして、数式をコピーします。

元データはA列に残り、抽出した文字がB列に表示されます。品コードの末尾3文字など、末尾から取り出す文字数が決まっている場合に使いやすい方法です。
右から2文字目・3文字目だけを抽出する|LEFT関数とRIGHT関数
右から2文字目だけを取り出したい場合は、RIGHT関数とLEFT関数を組み合わせます。
=LEFT(RIGHT(A2,2),1)
A2セルが AB-12345 なら、結果は 4 です。

数式は、内側から順番に考えると理解しやすくなります。
RIGHT(A2,2)で、右端から2文字の45を取り出します。LEFT(取り出した文字,1)で、45の左側1文字の4を取り出します。
右から3文字目だけを取り出す場合は、RIGHT関数の文字数を「3」に変更します。
=LEFT(RIGHT(A2,3),1)
この場合は、345 の左側1文字を取り出すため、結果は 3 です。
注意:元データに必要な文字数があるか確認しましょう。
たとえば、元データが AB の2文字しかないのに右から3文字目を指定すると、この組み合わせでは A が返ります。「3文字目がない」というエラーにはなりません。
文字数の異なるデータが混在している場合は、LEN関数で長さを確認できます。右から3文字目がないときに空欄を表示するなら、次のようにします。
=IF(LEN(A2)<3,"",LEFT(RIGHT(A2,3),1))
この式は、「3文字未満なら空欄、それ以外なら右から3文字目を取り出す」という意味です。

右から数えた位置から複数の文字を抽出する|MID関数とLEN関数
「右から5文字目を開始位置として、右方向へ3文字取り出したい」ときは、MID関数とLEN関数を組み合わせます。
MID関数は、指定した位置から指定した文字数を取り出す関数です。
=MID(文字列,開始位置,文字数)
ただし、MID関数の開始位置は左端を1文字目として数えます。そのため、右から数えた位置を、左からの位置に換算する必要があります。
そこで使うのが、文字数を調べるLEN関数です。
=LEN(A2)
A2セルが AB-12345 なら、全体の文字数は「8」です。右から5文字目は、左から数えると 8-5+1 で「4文字目」になります。
これをMID関数に組み込むと、次の式になります。
=MID(A2,LEN(A2)-5+1,3)
| 元データ | 開始位置 | 取り出す文字数 | 結果 |
|---|---|---|---|
| AB-12345 | 右から5文字目(左から4文字目) | 3文字 | 123 |

この例では、右から5文字目にある「1」が、左から数えると4文字目です。そこでMID関数の開始位置に「4」を指定し、「1」から続く3文字「123」を取り出しています。
同じ考え方で、右から3文字目だけを取り出すこともできます。
=MID(A2,LEN(A2)-3+1,1)
こちらも AB-12345 からは 3 が取り出せます。必要な文字数がないデータへの対処は、後半の「エラーが出る・抽出する位置がずれる場合」で説明します。
関数を使わずに末尾の文字を取り出す|フラッシュフィル
数式を使わずに取り出したい場合は、フラッシュフィルも選択肢です。入力した見本からExcelが規則を認識できれば、末尾3文字などをまとめて取り出せます。
たとえば、次のデータを用意します。
| A列:品コード | B列:末尾3文字 |
|---|---|
| AB-12345 | 345(見本として入力) |
| CD-67890 | |
| EF-24681 |
Windows版Excelでの手順は次のとおりです。
- B2セルに、A2セルの末尾3文字である
345を入力します。 - 次のB3セルを選択します。
- [データ]タブの[フラッシュ フィル]をクリックするか、[Ctrl]+[E]を押します。
- B3以降に
890、681と入力されているか確認します。

期待した結果にならない場合は、2行目の見本も入力してから再実行してみてください。それでも規則を認識できないときは、RIGHT関数を使うと取り出す文字数を明確に指定できます。
フラッシュフィルの結果は、元データを変更しても自動更新されません。一度だけ加工するならフラッシュフィル、元データの変更に合わせて結果も更新したいなら関数、という使い分けがおすすめです。
なお、015 など先頭の0を残したいコードを見本にする場合は、入力前に結果列の表示形式を[文字列]にしておきましょう。

参考:
▶ Excelでフラッシュ フィルを使用する|Microsoft サポート
▶ Excelで0が表示されない・消える原因は?表示/非表示にする方法
区切り文字を基準に抽出する方法と、うまくいかないときの対処法
ハイフンなど特定の文字の後を抽出する|TEXTAFTER関数
取り出したい部分の文字数が一定でない場合は、ハイフンなどの区切り文字を目印にする方法が便利です。
Microsoft 365・Excel 2024では、TEXTAFTER関数を使って、指定した文字の後ろを取り出せます。Excel 2021・2019などでは、次の項目で紹介するRIGHT・LEN・FIND関数を使ってください。
A2セルに AB-2026-015 が入っている場合、最初のハイフンの後を取り出す式は次のとおりです。
=TEXTAFTER(A2,"-")
結果は 2026-015 です。

一方、最後のハイフンの後だけを取り出したい場合は、3つ目の指定に「-1」を入れます。
=TEXTAFTER(A2,"-",-1)
結果は 015 になります。「-1」は、右側から最初に見つかるハイフンを基準にする指定です。

| やりたいこと | 数式 | 結果 |
|---|---|---|
| 最初のハイフンの後を取り出す | =TEXTAFTER(A2,"-") |
2026-015 |
| 最後のハイフンの後を取り出す | =TEXTAFTER(A2,"-",-1) |
015 |
区切り文字がない場合は、通常 #N/A エラーになります。区切り文字がないときだけ空欄にしたい場合は、次のように指定できます。
=TEXTAFTER(A2,"-",-1,0,0,"")

まずは基本の式で結果を確認し、区切り文字のないデータをどう扱うか決めてから追加しましょう。
TEXTAFTERが使えない場合|RIGHT・LEN・FIND関数
TEXTAFTER関数が使えないExcelでは、RIGHT・LEN・FIND関数を組み合わせると、最初のハイフンの後を取り出せます。
=RIGHT(A2,LEN(A2)-FIND("-",A2))
A2セルが AB-12345 なら、結果は 12345 です。
それぞれの関数は、次の役割を担当しています。
| 数式の部分 | 役割 | この例の結果 |
|---|---|---|
LEN(A2) |
全体の文字数を調べる | 8 |
FIND("-",A2) |
左から最初のハイフンの位置を調べる | 3 |
LEN(A2)-FIND("-",A2) |
ハイフンの後ろの文字数を求める | 5 |
RIGHT(A2,5) |
右端から5文字を取り出す | 12345 |

この式が基準にするのは、左から最初のハイフンです。AB-2026-015 のようにハイフンが複数ある場合は、2026-015 が取り出されます。
私も以前は、特定の文字の後を取り出すためにFIND関数を組み合わせていました。ただ、条件を増やしてエラー対策も加えると、数式が複雑になり、手入れが大変になることもあります。
まずは「文字数が決まっているか」「区切り文字を目印にするか」を整理してから、使う方法を選ぶと考えやすくなります。
エラーが出る・抽出する位置がずれる場合の確認ポイント
思ったとおりに取り出せないときは、元データの長さや、見えにくい文字を確認しましょう。
① 末尾にスペースが入っている
RIGHT関数はスペースも1文字として数えます。たとえば、AB-12345 の末尾に半角スペースが1つあると、右から3文字の結果は 45 とスペースになります。
半角スペースが原因なら、TRIM関数で余分なスペースを取り除いてから抽出できます。
=RIGHT(TRIM(A2),3)

TRIM関数は前後の半角スペースを削除し、文字の間に連続する半角スペースがあれば1つにまとめます。文字の間のスペースにも意味があるデータでは、変更してよいか確認してください。
全角スペースや、Webからコピーした特殊な空白などは、TRIM関数だけでは削除できない場合があります。改行が含まれる場合も、文字数や抽出位置が変わります。
※何も入力されていないセルと、スペースが入力されているセルは別です。見た目が空欄でも、=LEN(A2) の結果が1以上なら文字が入っています。
不要な文字を置換や関数で取り除く方法は、こちらの記事で紹介しています。
▶ エクセルで特定の文字を消すには?置換・関数・マクロで削除する方法
② 区切り文字が見つからない
FIND関数は、指定した文字が見つからないと #VALUE! エラーになります。ハイフンがない、半角の - と全角の - が混在している、といった違いを確認してください。
ハイフンがないデータを空欄にする運用なら、次の式が使えます。
=IFERROR(RIGHT(A2,LEN(A2)-FIND("-",A2)),"")
ただし、IFERRORはほかのエラーも空欄にします。データの不備を見落とさないよう、最初はIFERRORを付けずに結果を確認するのがおすすめです。

③ MID関数の開始位置が1未満になっている
右から5文字目を指定したのに、元データが4文字しかない場合などは、開始位置が0以下になり #VALUE! エラーが出ます。
5文字未満のデータを空欄にしたい場合は、次のように文字数で判断できます。
=IF(LEN(A2)<5,"",MID(A2,LEN(A2)-5+1,3))

④ 指定した文字数とデータの長さが合っていない
RIGHT関数は、元データより大きい文字数を指定すると、元データ全体を返します。

エラーにはならないため、必ず指定した文字数が取り出せたとは限りません。
また、MID関数で開始位置から末尾までに足りない文字数を指定した場合は、末尾までの文字だけが返ります。
品コードなどで桁数が決まっている場合は、抽出結果だけでなく元データの長さも確認しておきましょう。
右からの文字抽出でよくある質問
右から5文字を抽出するにはどうすればよいですか?
=RIGHT(A2,5) を使います。右端から5文字をまとめて取り出せます。MID関数だけで右から数えられますか?
=MID(A2,LEN(A2)-3+1,1) のようにLEN関数を組み合わせると、右から3文字目を取り出せます。元データが指定した文字数より短いとどうなりますか?
数字だけを取り出したのに計算できないのはなぜですか?
RIGHT関数などで取り出した結果は、数字に見えても文字列です。末尾3文字が必ず数字で、計算に使う場合は、=VALUE(RIGHT(A2,3)) で数値に変換できます。
ただし、015 は数値にすると 15 になります。品コードや注文No.など、先頭の0も必要なデータは、文字列のまま扱いましょう。文字列の途中に混在する数字をすべて取り出す処理は、RIGHT関数だけでは対応できません。
右から2文字を「抽出」する方法と「削除」する方法は違いますか?
はい。抽出は末尾2文字を取り出す操作、削除は末尾2文字を除いた残りを取り出す操作です。
AB-12345 の右から2文字を抽出すると 45、右から2文字を削除すると AB-123 になります。
末尾の文字を削除したい場合は、こちらの記事をご覧ください。
関数の組み合わせを少しずつ身につけたい方へ(PR)
RIGHT関数だけなら短い式でも、MID・LEN・FIND関数を組み合わせると、少し難しく感じるかもしれません。
最初から数式全体を覚えようとせず、「文字数を調べる」「位置を調べる」「必要な文字を取り出す」と、役割を分けて練習すると理解しやすくなります。
本を見ながら自分のペースで確認したい方は参考書籍、画面の操作を見ながら学びたい方は動画講座も選択肢です。
参考書籍
動画でExcel関数を学びたい方へ
Udemyには、「Excel関数マスター講座 全47関数の動画レッスン大百科を持ち歩こう。本を読んでも挫折したあなたのためのじっくり講座」があります。
関数の学習を動画で進めたい方は、講座内容やプレビューを確認し、自分のExcelのバージョンや学びたい内容に合うかチェックしてみてください。
▶ Excel関数マスター講座の内容を確認する(Udemy)
※本ボックスにはアフィリエイトリンク(PR)が含まれます。くわしくはプライバシーポリシーへ。
まとめ|文字数・位置・区切り文字に合わせて方法を選ぼう
Excelで右側の文字を取り出すときは、目的に合わせて方法を選びましょう。
| 目的 | 使用する関数・機能 |
|---|---|
| 末尾から3文字・5文字を取り出す | RIGHT関数 |
| 右から2文字目・3文字目だけを取り出す | LEFT+RIGHT関数 |
| 右から数えた位置から右方向へ複数文字を取り出す | MID+LEN関数 |
| ハイフンなどの後を取り出す | TEXTAFTER関数、またはRIGHT+LEN+FIND関数 |
| 数式を使わず、一度だけ加工する | フラッシュフィル |
まずは、「右から何文字」なのか「右から何文字目」なのかを整理すると、使う式を選びやすくなります。
結果がずれる場合は、末尾のスペースやデータの長さも確認してみてください。
【関連記事】
- エクセルで右から2文字削除する方法|LEFT関数で簡単に末尾を消す【n文字にも対応】
- エクセルで特定の文字を消すには?置換・関数・マクロで削除する方法
- Excelで8桁の日付を変換する方法|yyyymmddとスラッシュ付き日付を相互変換
- Excelで日付から月だけ抽出する方法|年度・曜日・年月表示も解説
