- 作成日 : 2025年8月25日
RIGHT関数の使い方 – エクセルで文字列の右側から文字を抽出する方法
RIGHT関数は、文字列の右側(末尾)から指定した文字数を抽出するエクセルの文字列操作関数です。電話番号の下4桁の抽出、ファイル拡張子の取得、商品コードの分類記号の取り出しなど、データ処理の様々な場面で活用されています。
本記事では、RIGHT関数の基本的な使い方から実務での応用例、LEFT関数やMID関数との使い分け、FIND関数やLEN関数との効果的な組み合わせ方、そしてよくあるエラーとその解決方法まで、初心者にも分かりやすく解説します。
RIGHT関数の使い方
RIGHT関数とは
RIGHT関数は、指定した文字列の右端から任意の文字数を取り出す関数です。データの末尾に規則的なパターンがある場合、その部分だけを抽出したいときに威力を発揮します。たとえば、「東京都港区赤坂1-2-3」という住所から「1-2-3」という番地部分だけを取り出したり、「20240315_売上報告.xlsx」というファイル名から拡張子「.xlsx」を抽出したりする際に使用します。
この関数は、文字列を右から左に向かって数え、指定した文字数分を返します。全角文字も半角文字も1文字として扱われるため、日本語のデータ処理でも安心して使用できます。
基本構文
RIGHT関数の構文は非常にシンプルです。
=RIGHT(文字列, [文字数])
各引数について詳しく説明します。
文字列:抽出元となるテキストを指定します。セル参照、文字列の直接入力、他の関数の結果など、様々な形式で指定可能です。
文字数:右端から抽出する文字数を指定します。省略した場合は1が指定されたものとして扱われます。0以上の整数を指定する必要があります。
基本的な使用例
実際にRIGHT関数を使用してみましょう。最も基本的な例から始めます。
=RIGHT(“エクセル関数”, 2) // 結果:”関数”
=RIGHT(“ABCDEFG”, 3) // 結果:”EFG”
セル参照を使用する場合:
A1セルに「株式会社山田商事」が入力されている場合、
=RIGHT(A1, 2) // 結果:”商事”
文字数を省略した場合:
=RIGHT(“12345”) // 結果:”5″(最後の1文字)
全角・半角文字の扱い
RIGHT関数は、全角文字と半角文字を区別せず、どちらも1文字として数えます。
=RIGHT(“Excel2024″, 4) // 結果:”2024”
=RIGHT(“エクセル2024″, 4) // 結果:”2024”
=RIGHT(“東京都”, 2) // 結果:”京都”
この特性により、日本語と英数字が混在するデータでも、文字数を正確に指定すれば期待通りの結果が得られます。
文字数が元の文字列より大きい場合
指定した文字数が元の文字列の長さを超える場合、RIGHT関数は元の文字列全体を返します。
=RIGHT(“ABC”, 5) // 結果:”ABC”(エラーにはならない)
この動作は、データの長さが不定な場合でもエラーを回避できるという利点があります。
RIGHT関数の利用シーン
電話番号の処理
電話番号から加入者番号や下4桁を抽出する際にRIGHT関数が活用されます。
携帯電話番号の下4桁抽出:
A1セル:090-1234-5678
=RIGHT(SUBSTITUTE(A1, “-“, “”), 4) // 結果:”5678″
この例では、まずSUBSTITUTE関数でハイフンを除去してから、右端4文字を抽出しています。
固定電話の加入者番号抽出(ハイフンありの場合):
=RIGHT(A1, 4) // “03-1234-5678″から”5678″を抽出
ファイル名と拡張子の処理
ファイル管理システムで、ファイル名から拡張子を抽出する場合に使用します。
拡張子の抽出(固定長の場合):
ファイル名:report_202403.xlsx
=RIGHT(A1, 5) // 結果:”.xlsx”
より汎用的な拡張子抽出(可変長対応):
拡張子が .csv や .pptx など 長さが異なる場合は、最後のドット位置を検出して計算します。
=RIGHT(A1, LEN(A1) – FIND(“.”, A1, LEN(A1) – LEN(SUBSTITUTE(A1,”.”,””)) ))
結果:.xlsx / .csv / .pptx など(ドットを含む)
商品コードの分析
商品コードの末尾に分類情報が含まれている場合の処理です。
A1セル)商品コード例:ABC-12345-XL
サイズコード抽出:=RIGHT(A1, 2) // 結果:”XL”
バーコードの検査数字抽出:
A1セル)JANコード:4901234567890
=RIGHT(A1, 1) // 結果:”0″(チェックデジット)
※数字を文字列として扱うか、先頭にアポストロフィ ‘’’ を付けて入力してください。数値として入力すると指数表示になり正しく抽出できません。
日付データの処理
日付や時刻が シリアル値(通常の Excel 日付/時刻) の場合は、RIGHT だけでは意図した結果になりません。まず文字列に変換するか、専用関数を使います。
年月日から日のみ抽出:
A1セル:2024/03/15
=TEXT(A1,”dd”) または =RIGHT(TEXT(A1,”yyyy/mm/dd”),2) // 結果:”15″
時刻から秒を抽出:
A1セル:14:30:45
=TEXT(A1,”ss”) または =RIGHT(TEXT(A1,”hh:mm:ss”),2) // 結果:”45″
住所データの整理
住所から番地や部屋番号を抽出する場合に使用します。
郵便番号の下4桁抽出:
A1セル:〒123-4567
=RIGHT(A1, 4) // 結果:”4567″
建物名・部屋番号の抽出(固定フォーマットの場合):
住所:東京都港区赤坂1-2-3-401
=RIGHT(A1, 3) // 結果:”401″
RIGHT関数の応用・他関数との組み合わせ
LEFT関数・MID関数との使い分け
文字列の抽出位置によって、適切な関数を選択します。
元の文字列:”ABC-123-XYZ”
左から:=LEFT(A1, 3) // “ABC”
中央 :=MID(A1, 5, 3) // “123”
右から:=RIGHT(A1, 3) // “XYZ”
複合的な使用例:
=LEFT(A1, 3) & “-” & RIGHT(A1, 3) // 最初と最後の3文字を結合
LEN関数との組み合わせ
文字列の長さが不定な場合、LEN関数と組み合わせて柔軟な抽出を行います。
最後の単語を除く処理:
=LEFT(A1, LEN(A1) – 5) // 右端5文字を除いた部分
可変長データからの抽出:
=RIGHT(A1, LEN(A1) – FIND(“-“, A1)) // 最初のハイフン以降を抽出
FIND関数・SEARCH関数との連携
特定の文字を基準にした抽出を行います。
最後のハイフン以降を抽出:
=RIGHT(A1, LEN(A1) – FIND(“~”, SUBSTITUTE(A1, “-“, “~”, LEN(A1)-LEN(SUBSTITUTE(A1, “-“, “”)))))
拡張子の動的抽出:
=RIGHT( A1, LEN(A1) – FIND( “◎”, SUBSTITUTE( A1, “.”, “◎”, LEN(A1) – LEN(SUBSTITUTE(A1, “.”, “”)))))
※上記は「最後のピリオド以降」を抽出する数式です。
※Microsoft 365以降 をお使いなら、より簡単に
=TEXTAFTER(A1,”.”,-1)
でも同じ結果が得られます。
VALUE関数での数値変換
抽出した文字列を数値として扱う場合に使用します。
商品コード:PRD-2024-0315
年の抽出と数値化:=VALUE(RIGHT(LEFT(A1, 8), 4)) // 2024
郵便番号の数値化:
=VALUE(RIGHT(SUBSTITUTE(A1, “-“, “”), 4)) // 文字列”4567″を数値4567に
IF関数による条件付き抽出
条件に応じて抽出する文字数を変更します。
=IF(LEN(A1) > 10, RIGHT(A1, 5), RIGHT(A1, 3))
拡張子による分岐処理:
=IF(RIGHT(A1, 4) = “.xls”, “旧形式”, IF(RIGHT(A1, 5) = “.xlsx”, “新形式”, “その他”))
SUBSTITUTE関数での前処理
不要な文字を除去してから抽出を行います。
電話番号:(03) 1234-5678
=RIGHT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1, “(“, “”), “)”, “”), ” “, “”), 4)
配列数式での一括処理
複数のセルに対して同時にRIGHT関数を適用します。
=RIGHT(A1:A10, 3) // A1からA10の各セルから右端3文字を抽出
条件付き配列処理:
=IF(LEN(A1:A10) > 5, RIGHT(A1:A10, 3), “”)
Microsoft 365 / Excel 2021 など 動的配列 が使える環境では、通常の Enter で確定すれば範囲全体に結果がスピルします。
それ以前のバージョンでは、上記の式を選択範囲に入力し Ctrl + Shift + Enter で確定してください(確定後にブック上で { } が自動で表示されますが、自分で入力する必要はありません)。
RIGHT関数のよくあるエラーと対策
#VALUE!エラーの原因と対処
文字数引数に不適切な値を指定した場合に発生します。
原因1:文字数に負の値を指定
誤:=RIGHT(“テキスト”, -1) // エラー
正:=RIGHT(“テキスト”, 1) // 正の値を指定
原因2:文字数に文字列を指定
誤:=RIGHT(A1, “三”) // エラー
正:=RIGHT(A1, 3) // 数値を指定
エラー回避の対策:
=IFERROR(RIGHT(A1, B1), “文字数を確認してください”)
空白セルの処理
空白セルにRIGHT関数を適用すると、空白文字列が返されます。
=IF(A1=””, “データなし”, RIGHT(A1, 3))
より厳密なチェック:
=IF(LEN(TRIM(A1))=0, “”, RIGHT(A1, 3))
数値データの扱い
数値に対してRIGHT関数を使用すると、自動的に文字列に変換されます。
A1セル:12345(数値)
=RIGHT(A1, 2) // 結果:”45″(文字列)
数値形式を保持したい場合:
=VALUE(RIGHT(A1, 2)) // 結果:45(数値)
日付データの注意点
日付型のデータは内部的にシリアル値として保存されているため、予期しない結果になることがあります。
A1セル:2024/3/15(日付型)
=RIGHT(A1, 2) // シリアル値の下2桁が返される
対策:
=RIGHT(TEXT(A1, “yyyy/mm/dd”), 2) // “15”を正しく抽出
文字数指定の誤り
元の文字列長を超える文字数を指定してもエラーにはなりませんが、意図しない結果になる可能性があります。
安全な文字数指定:
=RIGHT(A1, MIN(希望文字数, LEN(A1)))
動的な文字数計算での注意:
=IF(LEN(A1) >= 必要文字数, RIGHT(A1, 必要文字数), A1)
パフォーマンスの考慮
大量のデータに対してRIGHT関数を使用する場合、他の関数との組み合わせによっては処理速度が低下することがあります。
効率的な処理:
// 非効率:複雑な入れ子
=RIGHT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1, ” “, “”), “-“, “”), “(“, “”), 4)
// 効率的:段階的処理
B1: =SUBSTITUTE(A1, ” “, “”)
C1: =SUBSTITUTE(B1, “-“, “”)
D1: =RIGHT(C1, 4)
RIGHT関数で文字列の末尾から情報を取り出す
RIGHT関数は、文字列の右端から指定した文字数を抽出できるExcelの文字列関数です。電話番号の下4桁やファイル拡張子、商品コード末尾など、末尾に意味を持つデータ処理に適しており、さまざまな業務で活用されています。
全角・半角を問わず1文字として処理されるため、日本語と英数字が混在するデータでも安定した抽出が可能です。また、LEFT関数・MID関数との使い分けや、LEN・FIND・SUBSTITUTEとの連携により、動的かつ柔軟な処理が実現できます。
数値や日付を含むセルに適用する際は、文字列への変換やTEXT関数の併用が必要となることもあります。#VALUE!エラーの回避には、引数の妥当性チェックやIFERROR関数の活用が効果的です。RIGHT関数を適切に使いこなすことで、定型データの処理や業務の標準化に貢献できます。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関連記事
NPV関数の使い方:エクセルで正味現在価値を計算して投資判断を行う方法
NPV関数は、将来のキャッシュフローを現在価値に割り引いて、投資の正味現在価値を計算するエクセルの財務関数です。正味現在価値(Net Present Value)は、投資プロジェクトの収益性を評価する最も重要な指標の一つで、設備投資、M&a…
詳しくみるPI関数の使い方:円周率を使った正確な計算を行う方法
PI関数は、数学定数π(円周率)の値を返すエクセルの数学関数です。約3.14159265358979という15桁の精度で円周率を提供し、円の面積や円周、球の体積、三角関数の計算など、様々な幾何学的計算で活用されています。 建築設計、製造業、…
詳しくみるREPLACE関数とは?文字列置換の基本から応用、エラー対策まで解説
REPLACE関数(読み方:リプレイス関数)は、エクセルで文字列の一部を別の文字に置き換える関数です。 大量のデータを扱う中で「特定の文字だけを差し替えたい」といった場面に最適で、作業を一気に効率化できます。 この記事では、REPLACE関…
詳しくみるEXCELのCHAR関数とは?文字コードの変換やCODE関数との連携を紹介
ExcelのCHAR関数(読み方:キャラクター/キャラ/チャー関数)を使えば、記号や特殊文字、連続する文字、セル内での改行などを簡単に挿入できます。 本記事では、CHAR関数の基本的な使い方から、CODE関数との連携方法、入力作業を効率化す…
詳しくみるスプレッドシートでボタンを作成してスクリプトを実行するには?
Googleスプレッドシートにボタンを配置してGoogle Apps Script(GAS)を実行することで、複雑な処理をワンクリックで自動化できます。本記事では、スクリプトの基本的な実行方法から、ボタンの作成と割り当てなどを詳しく解説しま…
詳しくみるエクセルの列が勝手に数字表記になってしまう理由とは?戻す方法はある?
Excelを使用していると、特定の列やセルが勝手に数字表記に変わってしまうことがあります。この現象は、データの入力方法やExcelの設定が影響している場合が多いです。たとえば、数値として認識される形式でデータを入力したり、特定のフォーマット…
詳しくみる