オンライン Excel エディター
無料で使う

RIGHT 関数:構文、使用例、エラーの解決法

2026-10-14 更新 · 無料 · Excel と Google Sheets に対応

構文

=RIGHT(text, [num_chars])

クイック回答

RIGHT はセルの末尾から文字を返します:=RIGHT(A2, 4) は「AE-2026-041」を「-041」にします。文字数の既定は 1、セル長より多く頼むと全文がそのまま返り、結果は常にテキストです——数字に見えても。

構文

=RIGHT(text, [num_chars])
引数意味
text切り取るテキストが入ったセルまたは文字列。必須。
[num_chars]末尾から取る文字数:4 なら最後の 4 文字。省略すると 1 文字だけ。0 以上である必要があり、負数は #VALUE!。

地域設定によっては引数がカンマではなくセミコロンで区切られます:=RIGHT(A2; 4)。カンマが小数点記号の国では標準の挙動です。

RIGHT が数えるのは文字であり、バイトでも単語でもありません:英字・数字・空白・絵文字も 1 文字として 1 つ消費します。位置は末尾から逆に数えます——0 文字目は存在しません。

基本例

=RIGHT(A2, 4)

固定幅の主力:商品コード「AE-2026-041」が接尾辞「-041」を渡し、電話番号が下 4 桁を、口座番号がチェック桁を差し出す——意味のある部分が常に末尾 N 文字にある場面の御用達です。

=RIGHT(A2, LEN(A2) - SEARCH(" ", A2))

動的な強化版:SEARCH が最初の空白を見つけ、LEN がセル全体を測り、RIGHT が空白の後を全部取るので、「Jane Doe」は「Doe」、「Winston Churchill」は「Churchill」になります——切れ目がハードコードの数字ではなくデータに追従します。

=RIGHT(A2, LEN(A2) - FIND("@", A2))

「john.doe@example.com」からドメイン「example.com」を抽出。大文字小文字を区別するなら FIND、区別しない場合やワイルドカードが要るなら SEARCH を使います。

=IFERROR(RIGHT(A2, LEN(A2) - SEARCH("-", A2)), A2)

本番仕様:ハイフンがない行は SEARCH が見つからず #VALUE! に爆発します。IFERROR で包めば、そうした行はそのまま返り、列全体が壊れません。

RIGHT は数字を切り出してもテキストを返します:RIGHT(123456, 3) は合計できないテキスト「456」です。数値の切り出しは VALUE で包み(=VALUE(RIGHT(A2, 3)))、日付はシリアル値であることに注意——RIGHT は表示ではなくシリアル値から切り取ります。

よくあるエラーと修正方法

症状最も多い原因修正
#VALUE!文字数が負——または渡した FIND/SEARCH が区切り文字を見つけられず、FIND 自身が先に #VALUE! を返している。正の文字数を使い、区切り文字探しを IFERROR で包んでフォールバックを置くか、区切り文字が欠けた行を先に点検します。
1 文字しか返らないnum_chars を省略した——書かないと RIGHT は 1 とみなす。文字数を足す:=RIGHT(A2, 4)。本当に 1 文字でよい場合も、意図を明示するために 1 と書くのが親切です。
切れ目が 1 文字ずれる区切り文字前後のオフバイワン:区切りを含めないならそのまま、含めるなら 1 を引く。1 行で位置を追う——LEN から区切り位置を引けば、区切り自身を含めない後続部分の文字数が出ます。
取り出した数字が計算できないRIGHT は常にテキストを返すため「007」は「007」のまま、「456」は合計されない。=VALUE(RIGHT(A2, 3)) で切り出した数字を本物の数値へ(先頭の 0 は消えます。そもそもテキストだったのです)。
結果が全体的にずれるセルの末尾に見えない埋め込み空白があり、最後の数文字が空白になっている。先に掃除:=RIGHT(TRIM(A2), 4)、または列全体の空白を一括削除。

エラーではない古典的な驚き:RIGHT にセル長より多い文字数を頼むと、エラーではなく全文が返ります。=RIGHT("Hi", 50) は「Hi」のまま——「最大 N 文字」の安全な切り詰めに便利な半面、警告を期待していると面食らいます。

RIGHT と MID の比較

RIGHTMID
切り始める位置常に最後の文字指定した任意の位置:=MID(A2, 5, 3)
引数テキスト + 文字数テキスト + 開始位置 + 文字数
最適な場面接尾辞、姓、拡張子、チェック桁中央の断片——市外局番、2 つの区切りの間
動的な終端動かせるのは開始だけ(FIND/SEARCH と LEN 経由)両端が動く——FIND を開始位置に渡せる

RIGHT は末尾が固定の専用 MID です:セルが十分長ければ =RIGHT(A2, 4) は =MID(A2, LEN(A2) - 3, 4) と同じです。断片が末尾以外のどこかにあり得るなら MID へ——解析数式では両者が常に入れ子で働きます。

RIGHT と区切り位置・TEXTAFTER の比較

RIGHT(+ FIND/SEARCH)区切り位置TEXTAFTER(Microsoft 365)
出力新列に入る生きた数式、元データは無傷セルをその場で分割、横着すると隣の列を上書き生きた数式:=TEXTAFTER(A2, " ")
区切りロジックFIND/SEARCH と LEN 減算で手作りダイアログ操作、連続区切りも目視で処理引数 1 つ——FIND も LEN 計算も不要
新しい行に耐えるはい——フィルダウンで再計算いいえ——新データには再実行が必要はい——設計から動的
利用可能全 Excel バージョンと Google Sheets全 Excel バージョンExcel 365 / 2021 以降のみ

寿命で選ぶ:繰り返すインポートや更新に耐える解析には RIGHT 数式、完成した表の一回限りの整形には区切り位置、Excel が新しく「区切りの後全部」だけ要るなら TEXTAFTER です。

Google Sheets での RIGHT

  • 構文も既定値も同一——上の数式はそのまま Sheets に貼れます。
  • カンマ小数点地域ではセミコロン:=RIGHT(A2; 4)、Excel と同じです。
  • FIND は大文字小文字を区別、SEARCH は区別せずワイルドカード対応——コンビの挙動も同じ。
  • パターンで接尾辞を取るなら REGEXEXTRACT があり、FIND の入れ子なしで「最後のドットの後」を一発で抜けます。

制限と上級テクニック

  • 1 回の呼び出しで 1 カット:コードを 3 分割するなら 3 列——LEFT・MID・RIGHT を並べるのが古典的な解析レイアウト。
  • FIND と SEARCH は意図的に選ぶ:空白や @ のように大小を問わない区切りは SEARCH、「a」と「A」を別物にするなら FIND。
  • 区切り駆動の抽出には IFERROR を必ず巻く——区切りが欠けた 1 行から #VALUE! が列全体へ広がります。
  • 切った後の数字はテキストのまま:=VALUE(RIGHT(A2, 3)) が計算できる数値への戻り道。
  • n 個目の区切りの後を取るには SEARCH を入れ子に:SEARCH("-", A2, SEARCH("-", A2) + 1) が 2 つ目のハイフンを見つけ、RIGHT がそこから末尾まで取ります。

RIGHT を解析ラインの最後の駅として扱う:TRIM で詰め物を落とし、SEARCH で区切りを見つけ、LEN で長さを測り、RIGHT で切り、結果が数値なら VALUE で変換。各段を独立した列にしておけば、来月インポート書式が変わっても直す数式は 1 つです。

関連ツール

関連関数

よくある質問

RIGHT は Excel で何をしますか?

セルの末尾から指定した文字数を返します:=RIGHT(A2, 4) は最後の 4 文字。文字数を省略すると 1 文字だけ取り、FIND や SEARCH に LEN を組み合わせれば空白や @ などの区切りに切れ目を追従させられます。

RIGHT で空白の後のテキストを取るには?

区切り位置を見つけて長さを引きます:=RIGHT(A2, LEN(A2) - SEARCH(" ", A2)) が最初の空白の後全部。SEARCH は大小無視、FIND は区別し、全体を IFERROR で包めば区切りがない行も無事です。

RIGHT が #VALUE! を返すのはなぜ?

文字数が負か、埋め込んだ FIND/SEARCH が区切りを見つけられないか——FIND は未発見で #VALUE! を返し、RIGHT がそれを継承します。IFERROR でフォールバックを置き、区切り欠けの行を点検します。

RIGHT と MID の違いは?

RIGHT は常に最後の文字から逆に切り、文字数だけが必要。MID は任意の位置から始まり開始位置と文字数の両方が要ります。接尾辞や姓には RIGHT、中央に埋もれた断片には MID です。

RIGHT で取り出した数字が計算できないのはなぜ?

RIGHT はテキストを返すので、その「456」は値ではなくラベルです。=VALUE(RIGHT(A2, 3)) で変換を——ただし先頭の 0 は本物の数値では消えます。テキストとしてしか存在しなかったのです。

num_chars がテキストより長いとどうなる?

RIGHT はセル全体をそのまま返します——=RIGHT("Hi", 50) は「Hi」のまま、エラーも埋め草もなし。このルールのおかげで大きな文字数は「最大 N 文字」の安全な表現として使えます。

RIGHT は Google Sheets で使えますか?

使えます——名前・引数・FIND/SEARCH の組み合わせ・カンマ小数点地域のセミコロン、すべて同じ。Sheets にはパターン抽出の REGEXEXTRACT もあります。

自分のファイルで試す準備はできましたか?

Excelのテキストを列に分割を開く — 無料