RIGHTは、文字列の末尾から、指定した文字数だけ取り出す関数です。
LEFT の逆向きで、「電話番号の下4桁」「ファイルの拡張子」といった切り出しに使います。ExcelとGoogleスプレッドシートで共通です。
書式
=RIGHT(文字列, [文字数])
文字数を省略すると1文字だけ返します。
基本の使い方
A1に ABC-1234 が入っているとします。
=RIGHT(A1, 4) → 1234
末尾から可変長で取り出す
末尾の取り出しは、文字数が固定でないことが多いのがLEFTとの違いです。
RIGHT は「末尾から何文字」しか指定できないため、全体の長さから、前半の長さを引くという計算が必要になります。
A1が ABC-1234 の場合、「-」より後ろを取り出すには次のように書きます。
=RIGHT(A1, LEN(A1) - FIND("-", A1))
- –
LEN(A1)… 全体の文字数(8) - –
FIND("-", A1)… 「-」の位置(4) - – 8 − 4 = 4文字を末尾から取る →
1234
この形が実務での基本形になります。
区切りが無い場合に備えて包んでおくと安全です。
=IFERROR(RIGHT(A1, LEN(A1) - FIND("-", A1)), A1)
区切り文字が複数あるとき
FIND は最初に見つかった位置を返します。ファイルパスのように区切りが複数あると、期待通りになりません。
A1 = data/2026/report.csv
最後の区切りより後ろを取り出すには、区切り文字を一度別の文字に置き換える手法を使います。
=RIGHT(A1, LEN(A1) - FIND("|", SUBSTITUTE(A1, "/", "|", LEN(A1)-LEN(SUBSTITUTE(A1,"/","")))))
読みにくいので、REGEXEXTRACT を使うほうが実用的です。
=REGEXEXTRACT(A1, "([^/]+)$")
「最後の / より後ろ」という意味です。圧倒的に短く、意図も明確です。
実用例
拡張子を取り出す
=REGEXEXTRACT(A1, "\.([^.]+)$")
RIGHT で書くこともできますが、拡張子の長さが可変なので正規表現のほうが確実です。
電話番号の下4桁
=RIGHT(A1, 4)
これは固定長なので RIGHT が最適です。
郵便番号の下4桁
=RIGHT(A1, 4)
ハイフンが入っている場合(123-4567)もそのまま動きます。
括弧の中身を取り出す
=REGEXEXTRACT(A1, "\((.+)\)")
全角・半角の数え方
RIGHTは全角も半角も1文字として数えます。 バイト単位なら RIGHTB ですが、実務で必要な場面は限られます。
日付・数値に使うとき
日付にRIGHTを使うと、内部のシリアル値の末尾が返ります。日付から日を取り出したいなら DAY か TEXT を使ってください。
=DAY(A1)
=TEXT(A1, "d")
数値に使った場合も、結果は文字列になります。計算に使うなら VALUE で戻してください。
ゼロ埋めが必要な数値(0042 のような伝票番号)は、RIGHTで取り出すと先頭の0が消えていることがあります。元データが数値なら TEXT でゼロ埋めしてから取り出してください。
=RIGHT(TEXT(A1, "000000"), 4)
全行に適用する
=ARRAYFORMULA(IF(A2:A="", "", RIGHT(A2:A, 4)))
可変長の場合も同様に包めます。
=ARRAYFORMULA(IF(A2:A="", "", RIGHT(A2:A, LEN(A2:A) - FIND("-", A2:A))))
エラーの対処
#VALUE! が出る
- –
FINDが対象を見つけられていない - – 文字数にマイナスを指定している
IFERROR で包むか、FIND 単体の結果を確認してください。
想定と違う位置で切れる
末尾に見えない文字(改行・スペース)が付いている可能性があります。LEN() で確認し、TRIM で整えてください。
=RIGHT(TRIM(A1), 4)
CSVから読み込んだデータでは、末尾の空白や改行が残っていることがよくあります。
まとめ
- – 書式は
=RIGHT(文字列, 文字数) - – 可変長なら
LEN(A1) - FIND(...)で文字数を計算する - – 区切り文字が複数あるなら REGEXEXTRACT が圧倒的に短い
- – 全角も半角も1文字として数える
- – 末尾の見えない空白に注意。
TRIMで整える - – ゼロ埋めが要る数値は TEXT を先に通す
関連する関数
- – LEFT — 先頭から取り出す
- – MID — 途中から取り出す
- – REGEXEXTRACT — 正規表現で取り出す
- – SPLIT — 区切り文字で分割する
- – 関数一覧に戻る
コメントを残す