ExcelのRIGHT関数の使い方|文字列の右から指定文字数を取り出す方法

スポンサーリンク

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))

この式を分解すると、次のとおりです。

  1. FIND(“.”, A1) → ドットの位置を取得(「report.xlsx」なら7)
  2. LEN(A1) → 文字列全体の長さ(11)
  3. LEN(A1) – FIND(“.”, A1) → ドットより後ろの文字数(11 – 7 = 4)
  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))

この式の流れです。

  1. FIND(” “, A1) → スペースの位置(「田中 太郎」なら3)
  2. LEN(A1) → 全体の文字数(5)
  3. LEN(A1) – FIND(” “, A1) → スペースより後ろの文字数(5 – 3 = 2)
  4. 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))

この式の考え方はこうです。

  1. MID関数で4文字目を確認
  2. 4文字目が「県」なら4文字の県(神奈川県、和歌山県、鹿児島県)→ 4文字分を除く
  3. そうでなければ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」の長さ55(すべて半角)
「エクセル」の長さ48(すべて全角)
主な用途一般的な文字抽出固定バイト長データの処理

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桁やファイルの拡張子取り出しなど、身近なデータで試してみてくださいね。

タイトルとURLをコピーしました