Excelで「文字列の末尾から何文字かだけ取り出したい」と思ったことはありませんか? 電話番号の下4桁を取り出したり、ファイル名から拡張子だけ抽出したりと、末尾の文字を抜き出す場面は想像以上に多いですよね。 手作業で1件ずつコピーしていたら、件数が増えるほど時間もミスも増えてしまいます。
そんなときに使えるのが RIGHT関数 です。 文字列の右端から指定した文字数をサッと取り出せるので、データ整理の効率が一気に上がりますよ。 この記事では、RIGHT関数の基本構文からLEN・FIND関数との組み合わせまで、実務に使える知識を順を追って解説します。
対象バージョン: Excel 2016 / 2019 / 2021 / Microsoft 365(Windows・Mac共通)
RIGHT関数とは?文字列の末尾から文字を取り出す関数
ExcelのRIGHT関数は、文字列の 右端(末尾)から指定した文字数 を取り出す関数です。 読み方は「ライト」で、英語の「Right(右)」がそのまま由来になっています。
たとえば「03-1234-5678」から末尾4桁の「5678」を取り出す、「report.xlsx」から「xlsx」を取り出す、といった操作が1つの関数で完了します。
Excelには文字を取り出す関数が3つあります。 まずは全体像を押さえておきましょう。
| 関数 | 取り出す位置 | 引数 | 使いどころ |
|---|---|---|---|
| LEFT | 先頭(左端)から | 文字列, 文字数 | 先頭のコード・郵便番号上3桁など |
| RIGHT | 末尾(右端)から | 文字列, 文字数 | 末尾の拡張子・電話番号下4桁など |
| MID | 任意の位置(途中)から | 文字列, 開始位置, 文字数 | コード中央の分類番号など |
RIGHT関数はLEFT関数の逆方向版です。 「末尾から何文字」と指定するだけなので、使い方もシンプルですよ。
RIGHT関数の書き方(構文・引数)
基本構文
RIGHT関数の構文は次のとおりです。
=RIGHT(文字列, [文字数])
引数は2つで、文字数は省略可能です。 それぞれの役割を表で確認しましょう。
| 引数 | 必須/省略可 | 説明 | 指定例 |
|---|---|---|---|
| 文字列 | 必須 | 取り出し元の文字列またはセル参照 | A1, “ABCDE” |
| 文字数 | 省略可 | 末尾から何文字取り出すか(省略時は1) | 4 → 末尾4文字 |
文字数を省略すると1文字が返る
文字数を省略した場合、末尾の 1文字だけ が返ります。
=RIGHT("Excel")
→ 結果: "l"
「とりあえず末尾1文字がほしい」ときは、文字数を書かなくてOKです。
全角・半角のカウント方法
RIGHT関数では、全角文字も半角文字も 1文字=1 としてカウントされます。
=RIGHT("エクセル", 2)
→ 結果: "セル"
=RIGHT("Excel", 2)
→ 結果: "el"
どちらも2文字として扱われます。 バイト数で計算したい場合は後述のRIGHTB関数を使いますが、通常の業務ではRIGHT関数で問題ありません。
RIGHT関数の基本的な使い方
セル参照で末尾から取り出す
実務では直接値よりセル参照を使うのが一般的です。 セルA1に「PRD-001-BK」が入っている場合を見てみましょう。
=RIGHT(A1, 2)
→ 結果: "BK"
末尾から2文字分、つまりカラーコード「BK」が取り出されます。 LEFT関数が先頭から取り出すのに対し、RIGHT関数は末尾から取り出すのがポイントです。
文字数を多めに指定した場合の動作
「文字列の長さより大きい数を指定したらどうなるの?」と気になる方もいるかもしれません。 結論から言うと、エラーにはなりません。 文字列全体がそのまま返ります。
=RIGHT("Hello", 100)
→ 結果: "Hello"
はみ出した分は無視されるので、安心して使ってください。
結果は常に文字列になる
RIGHT関数の結果は 常に文字列 です。 数字を取り出しても、そのままでは計算に使えません。
=RIGHT("12345", 3)
→ 結果: "345"(文字列として返る)
取り出した数字でSUM関数やIF関数の計算をしたいときは、VALUE関数(文字列を数値に変換する関数)で変換する必要があります。
=VALUE(RIGHT(A1, 3))
VALUE関数で囲むだけで、数値として扱えるようになりますよ。
RIGHT関数の実務活用パターン
ここからは、実務でよく使う活用パターンを紹介します。 基本から応用まで段階的に見ていきましょう。
パターン1: 電話番号の末尾4桁を取り出す
「03-1234-5678」のような電話番号から、末尾4桁だけ取り出すケースです。
=RIGHT(A1, 4)
→ 結果: "5678"
末尾4文字を取るだけなので、電話番号の桁数やハイフンの位置に影響されません。 顧客データの照合や、末尾番号でのグループ分けに使えますよ。
パターン2: ファイル名から拡張子を取り出す
「report.xlsx」や「photo.png」のようなファイル名から拡張子を取り出す場面です。 ただし、拡張子の文字数は3文字だったり4文字だったりと一定ではありませんよね。
固定長なら簡単ですが、可変長の場合はFIND関数とLEN関数(文字数を数える関数)を組み合わせます。
=RIGHT(A1, LEN(A1) - FIND(".", A1))
この式を分解すると、次のとおりです。
- FIND(“.”, A1) → ドットの位置を取得(「report.xlsx」なら7)
- LEN(A1) → 文字列全体の長さ(11)
- LEN(A1) – FIND(“.”, A1) → ドットより後ろの文字数(11 – 7 = 4)
- RIGHT(A1, 4) → 末尾4文字「xlsx」を取り出す
RIGHT + LEN + FIND のこの組み合わせは、区切り文字より後ろを取り出す定番パターン です。 ぜひ覚えておいてくださいね。
パターン3: 年度コードの下2桁を取り出す
「FY2026」のような年度コードから、下2桁「26」だけ取り出す例です。
=RIGHT(A1, 2)
→ 結果: "26"
帳票の表示スペースが限られているときや、年度の下2桁で集計キーを作りたいときに便利です。
パターン4: FIND関数と組み合わせて区切り文字の後ろを取り出す
パターン2で紹介した考え方をさらに発展させましょう。 「田中 太郎」からスペースの後ろ「太郎」を取り出す場合です。
LEFT関数ではスペースの手前を取り出しましたが、RIGHT関数ではスペースの後ろを取り出します。
=RIGHT(A1, LEN(A1) - FIND(" ", A1))
この式の流れです。
- FIND(” “, A1) → スペースの位置(「田中 太郎」なら3)
- LEN(A1) → 全体の文字数(5)
- LEN(A1) – FIND(” “, A1) → スペースより後ろの文字数(5 – 3 = 2)
- RIGHT(A1, 2) → 末尾2文字「太郎」を取り出す
LEFT関数が「区切り文字の手前」を取るのに対し、RIGHT関数は「区切り文字の後ろ」を取る。 この対の関係を覚えておくと、文字列の分割がスムーズにできますよ。
パターン5: メールアドレスからドメインを取り出す
「tanaka@example.com」から「example.com」を取り出すケースです。 パターン4と同じ考え方です。
=RIGHT(A1, LEN(A1) - FIND("@", A1))
→ 結果: "example.com"
FIND(“@”, A1) で@の位置を取得し、全体の長さから引いた文字数をRIGHTで取り出しています。
ただし、@が含まれないデータが混在する場合はFIND関数がエラーを返します。 IFERROR関数(エラー時に別の値を返す関数)で囲んでおくと安心です。
=IFERROR(RIGHT(A1, LEN(A1) - FIND("@", A1)), "")
エラー時は空文字を返すので、他のデータに影響しません。 LEFT関数でユーザー名を取り出す方法はLEFT関数の実務活用パターンで紹介しています。
パターン6: 住所から市区町村以降を取り出す
都道府県名を除いた住所部分を取り出す場面です。 LEFT関数の記事では都道府県名の取り出し方を紹介しましたが、RIGHT関数では逆に「都道府県名を除いた部分」を取り出します。
都道府県名は3文字か4文字なので、IF関数とMID関数で分岐させます。
=IF(MID(A1,4,1)="県", RIGHT(A1, LEN(A1)-4), RIGHT(A1, LEN(A1)-3))
この式の考え方はこうです。
- MID関数で4文字目を確認
- 4文字目が「県」なら4文字の県(神奈川県、和歌山県、鹿児島県)→ 4文字分を除く
- そうでなければ3文字(東京都、大阪府、北海道、その他の県)→ 3文字分を除く
LEFT関数で都道府県を取り出し、RIGHT関数で残りの市区町村を取り出す。 セットで使うときれいにデータを分割できますよ。
よくあるエラーと対処法
RIGHT関数を使っていて「あれ?」となるケースをまとめました。
#VALUE!エラーが出るケース
#VALUE! エラーの原因はほぼ1つです。
- 文字数にマイナスの値を指定している
=RIGHT(A1, -1)
→ #VALUE! エラー
FIND関数やLEN関数と組み合わせたときに起こりやすいパターンです。 区切り文字が見つからないとFIND関数が #VALUE! を返し、RIGHT関数にも波及します。
=IFERROR(RIGHT(A1, LEN(A1) - FIND("-", A1)), A1)
IFERROR関数で囲んでおけば、区切り文字がないデータでもエラーになりません。
数値セルで意図しない結果になるケース
RIGHT関数は文字列を扱う関数です。 数値セルに使うと、書式に関係なくセルの実際の値から取り出されます。
たとえば、日付セルに 2026/4/4 と表示されていても、内部的にはシリアル値(46114のような数値)です。 RIGHT関数はこのシリアル値の末尾から取り出してしまいます。
=RIGHT(A1, 2) ← 日付セル
→ 結果: "14"(表示値と異なる!)
対策は、TEXT関数で表示形式を文字列に変換してからRIGHTを適用することです。
=RIGHT(TEXT(A1, "YYYY/MM/DD"), 2)
→ 結果: "04"
空文字が返るケース
RIGHT関数が空文字(””)を返すのは次のケースです。
- 文字数に0を指定した場合
- 参照セルが空の場合
どちらもエラーにはなりませんが、意図した結果かどうか確認しておきましょう。
RIGHT関数とRIGHTB関数の違い
RIGHT関数とよく比較されるのがRIGHTB関数です。 両者の違いは 文字の数え方 にあります。
| 項目 | RIGHT関数 | RIGHTB関数 |
|---|---|---|
| カウント基準 | 文字数(1文字=1) | バイト数(全角=2、半角=1) |
| 「Excel」の長さ | 5 | 5(すべて半角) |
| 「エクセル」の長さ | 4 | 8(すべて全角) |
| 主な用途 | 一般的な文字抽出 | 固定バイト長データの処理 |
RIGHTB関数の構文はRIGHT関数と同じです。
=RIGHTB(文字列, [バイト数])
具体例で見てみましょう。 「エクセル関数」から取り出す場合に結果が変わります。
=RIGHT("エクセル関数", 3)
→ 結果: "関数"ではなく "ル関数"(末尾3文字)
=RIGHTB("エクセル関数", 3)
→ 結果: "数"(末尾3バイト = 全角1文字 + 半端な1バイトは切り捨て)
RIGHTB関数は、全角文字を2バイト、半角文字を1バイトとして計算します。 3バイト指定だと全角は1文字(2バイト)+余り1バイトとなり、半端な文字は切り捨てられます。
通常の業務では RIGHT関数を使えば問題ありません。 RIGHTB関数が必要になるのは、レガシーシステムから出力された固定バイト長データ(COBOL系や銀行データなど)を扱うような限られた場面だけです。
似た関数との比較・使い分け
RIGHT関数と併用する機会が多い関数を整理しました。
| 関数 | 役割 | RIGHTとの関係 |
|---|---|---|
| LEFT | 先頭から文字を取り出す | RIGHTの逆方向版 |
| MID | 任意の位置から文字を取り出す | 中央の取り出しに使う |
| LEN | 文字数を数える | RIGHT+FINDで必須の相棒 |
| TRIM | 余分なスペースを除去する | RIGHT適用前のデータ前処理に |
| SUBSTITUTE | 文字列を置換する | 区切り文字の変換と組み合わせ |
| IFERROR | エラー時に別の値を返す | FIND連携時のエラー防止に |
どの関数を使うか迷ったときは、次の判断フレームで選んでみてください。
- 先頭から数えたほうが早い → LEFT関数
- 末尾から数えたほうが早い → RIGHT関数
- 真ん中あたりにある → MID関数
- 区切り文字の前を取りたい → LEFT + FIND
- 区切り文字の後ろを取りたい → RIGHT + LEN + FIND
まとめ
この記事では、ExcelのRIGHT関数の使い方を基本から実務活用まで解説しました。 最後にポイントを振り返りましょう。
- RIGHT関数は
=RIGHT(文字列, 文字数)で末尾から文字を取り出す - 文字数を省略すると 1文字だけ 返る
- 文字数を多めに指定してもエラーにならず、文字列全体が返る
- LEN関数・FIND関数と組み合わせれば、区切り文字の後ろを柔軟に取り出せる
- RIGHTB関数はバイト単位で数える関数で、通常業務ではRIGHTで十分
- 結果は文字列になるので、数値として使うならVALUE関数で変換する
RIGHT関数はLEFT関数とセットで覚えるのがおすすめです。 「先頭からはLEFT、末尾からはRIGHT」と対で覚えておけば、文字列の分割がスムーズになりますよ。 まずは電話番号の末尾4桁やファイルの拡張子取り出しなど、身近なデータで試してみてくださいね。
