スプレッドシートのRIGHT関数の使い方で悩んでいませんか?電話番号の末尾4桁だけ、ファイル名の拡張子だけを取り出したい場面はよくありますよね。
でも、文字列の末尾を手作業で切り出すのは大変です。データ件数が増えるほど、時間もミスも増えていきます。
RIGHT関数を使えばこの作業が一瞬で完了します。この記事では基本構文から実務での活用例、エラー対処法まで丁寧に解説します。
RIGHT関数とは?スプレッドシートで右から文字を取り出す基本構文
RIGHT関数は、セルの文字列を右端(末尾)から指定した文字数だけ取り出す関数です。一度覚えれば様々な場面で使えますよ。
「RIGHT(ライト)」は英語で「右」を意味します。文字列の右側(末尾)から切り出す動作を表しています。ExcelとGoogleスプレッドシートで完全に互換性があるので、両方で使えます。
書き方(構文)と引数の意味
=RIGHT(文字列, [文字数])
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| 文字列 | 必須 | 取り出し元のセルまたはテキスト |
| 文字数 | 省略可 | 取り出す文字数(省略時は1文字を返す) |
文字数は省略できます。省略すると末尾の1文字だけが返されます。
全角・半角は関係ありません。どちらも1文字=1文字としてカウントされます。バイト数で計算したい場合はRIGHTB関数を使いましょう。
基本的な使用例
セルA1に「東京都渋谷区」と入力されているとします。
=RIGHT(A1, 3) → 「渋谷区」
=RIGHT(A1, 1) → 「区」
=RIGHT(A1) → 「区」(文字数省略時も1文字を返す)
末尾から何文字取り出すか指定するだけです。とてもシンプルですね。
実務でよく使うRIGHT関数の活用例
RIGHT関数が実際の業務でどう役立つか、よく使うパターンを3つ紹介します。
電話番号の末尾4桁を取り出す
顧客リストの電話番号から末尾4桁だけを取り出す例です。本人確認で「下4桁を教えてください」と聞く場面で使えます。
=RIGHT(A2, 4) → 「4567」("090-1234-4567"の場合)
末尾から4文字を取るだけです。ハイフンの位置を気にする必要はありません。
ファイル名から拡張子を取り出す(固定長)
「report.pdf」「data.csv」のような固定長の拡張子を取り出す例です。
=RIGHT(A2, 3) → 「pdf」「csv」「jpg」
3文字の拡張子ならRIGHT(A2, 3)で十分です。ただし「xlsx」のような4文字拡張子が混在する場合は、FIND関数との組み合わせが必要になります。
商品コードの末尾分類コードを取り出す
「PRD-A001-BK」のような商品コードで、末尾2文字がカラーコードを表している場合です。
=RIGHT(A2, 2) → 「BK」「WH」「RD」など
取り出した2文字をキーにして、VLOOKUPやIF関数で色名に変換できます。RIGHT関数は「他の関数のインプットを作る」役割でもよく使われますよ。
LEN関数と組み合わせて先頭を除外する(応用)
RIGHT関数は末尾から取り出す関数です。でも「先頭N文字を除いた残り全部がほしい」というケースもありますよね。
そこで便利なのがLEN関数との組み合わせです。LENは文字列の全文字数を返す関数です。
「先頭N文字を除いた残り」を取得する仕組み
仕組みはシンプルです。全体の文字数から除きたい文字数を引いて、その分だけRIGHTで取り出します。
=RIGHT(A1, LEN(A1)-N)
ちょっとむずかしく見えますが、分解すると簡単です。
LEN(A1)で文字列全体の文字数を取得する- そこからN(除きたい文字数)を引く
- その数値をRIGHTの文字数として渡す
「東京都渋谷区」から都道府県名(先頭3文字)を除きたい場合です。
=RIGHT(A1, LEN(A1)-3) → 「渋谷区」
LEN("東京都渋谷区")は6です。6-3=3なのでRIGHT(A1, 3)と同じ動作になります。
LEFT関数の応用でFIND関数との組み合わせを紹介しましたが、RIGHT+LENも文字列操作の定番パターンです。覚えておくと役立ちますよ。
NOTE
LEFT関数を使った先頭からの切り出しについては「スプレッドシートのLEFT関数の使い方|左から文字取得」で詳しく解説しています。
IFERRORでエラーを防ぐ
Nの値が文字列の長さより大きいと、LEN(A1)-Nがマイナスになります。RIGHTにマイナスの文字数を渡すとエラーです。
=IFERROR(RIGHT(A1, LEN(A1)-N), "")
エラーが起きたら空文字を返す、というシンプルな防御策です。実務データは長さがバラバラなので、IFERRORでラップしておくと安心ですよ。
LEFT・RIGHT・MIDの違いと使い分け
文字列を取り出す関数にはRIGHT以外に「LEFT」と「MID」があります。どれも文字列の一部を切り出す関数ですが、取り出す位置が異なります。
3関数の比較一覧
| 関数 | 取り出す位置 | 構文 | 使用例 |
|---|---|---|---|
| LEFT | 左端(先頭)から | =LEFT(文字列, 文字数) | 都道府県名、カテゴリコード |
| RIGHT | 右端(末尾)から | =RIGHT(文字列, 文字数) | 電話番号末尾4桁、拡張子 |
| MID | 任意の開始位置から | =MID(文字列, 開始位置, 文字数) | 電話番号の市外局番、コードの中間部分 |
どれを使うか迷ったときの判断フレーム
取り出したい文字がどこにあるかで選べます。
- 先頭から数えたほうが早い → LEFT
- 末尾から数えたほうが早い → RIGHT
- 真ん中あたりにある → MID
「2024-03-18」から年を取りたいなら、先頭4文字なのでLEFT(A1, 4)です。日だけなら末尾2文字なのでRIGHT(A1, 2)になります。
よくあるエラーと対処法
RIGHT関数で思ったとおりに動かないときのパターンを解説します。
数値セルに使うとうまくいかない(TEXT関数との組み合わせ)
RIGHT関数は文字列を扱う関数です。数値セルに使うと意図しない結果になる場合があります。
A1に数値1234567が入っている場合、通常の整数なら動きます。
=RIGHT(A1, 4) → 「4567」(一見うまくいく)
ただし日付や通貨形式の場合は要注意です。表示値ではなくシリアル値から切り出されることがあります。
確実に表示どおりに切り出すにはTEXT関数を使いましょう。
=RIGHT(TEXT(A1, "0"), 4)
ちょっとむずかしく見えますが、やっていることはシンプルです。TEXT関数で数値を文字列に変えて、それをRIGHTで切り出しているだけですよ。
文字数を超えて指定しても大丈夫?
「5文字のテキストにRIGHT(A1, 100)と指定したら?」という疑問もありますよね。
答えは「エラーにならず、テキスト全体を返す」です。
=RIGHT("Hello", 100) → 「Hello」(はみ出した分は無視)
安心して使ってください。ただしマイナスの文字数を指定すると#VALUE!エラーになります。
=RIGHT(A1, -1) → #VALUE!エラー
文字数に0を指定すると空文字列("")が返ります。これはエラーではありません。
まとめ
RIGHT関数の要点を整理します。
| ポイント | 内容 |
|---|---|
| 基本構文 | =RIGHT(文字列, 文字数) |
| 文字数省略 | 省略すると1文字を返す |
| 文字数超過 | エラーにならずテキスト全体を返す |
| マイナス指定 | #VALUE!エラーになる |
| ゼロ指定 | 空文字列("")を返す |
| 全角・半角 | どちらも1文字としてカウント |
RIGHT関数は文字列操作の基本です。まずは「末尾から何文字取り出す」というシンプルな使い方から試してみてください。
慣れてきたらLEN関数との組み合わせにも挑戦してみましょう。「先頭を除いた残り全部」が取り出せるようになると、実務でのデータ整理の幅が一気に広がりますよ。
LEFT関数(先頭から切り出し)やMID関数(任意の位置から切り出し)と合わせて、文字列操作の三本柱として活用してみてくださいね。
