Excel関数 逆引き集 | 右からn文字 → RIGHT

Excel
スポンサーリンク

概要

RIGHTは「文字列の右から指定した文字数だけ切り出す」関数です。型番の末尾コード、拡張子、住所の末尾だけ、IDの末尾桁などを取りたい場面で使います。日本語の全角文字でも「1文字=1カウント」で動作します。


基本の使い方

書式

=RIGHT(文字列, 文字数)

文字数を省略すると末尾1文字だけ返します。文字数が文字列の長さより大きい場合は、文字列全体が返ります。

=RIGHT("AB-12345", 2)     // "45"
=RIGHT("東京都江東区", 2)  // "江東区"の末尾2文字 → "東区"
=RIGHT("report.xlsx", 4)  // ".xlsx"の末尾4文字 → "xlsx"
=RIGHT("山田 太郎")        // "郎"(文字数省略=1文字)

具体例

拡張子を取得(ピリオドを除く)

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

ファイル名の「.」の右側(拡張子本体)を取り出します。複数の「.」があり得る場合は後方検索の工夫が必要です(後述)。

型番の末尾コード(末尾n桁)を取得

=RIGHT(A2, 3)

例:「AB-12345」→「345」。桁数固定の末尾コード抽出に向いています。

郵便番号の後半(4桁)を取得

=RIGHT("123-4567", 4)   // "4567"

区切り位置が可変でも、後半は固定桁ならRIGHTが簡単です。

日付や数値を整形してから末尾を取得

数値や日付はTEXTで文字列化してからRIGHTを使うと意図通りになります。

=RIGHT(TEXT(A2, "yyyy/mm/dd"), 2)   // 日だけ → "dd"
=RIGHT(TEXT(B2, "000000"), 3)       // 末尾3桁(ゼロ埋め後)

応用テンプレート

末尾の区切り文字の右側を可変長で取得(最後の「-」以降)

最後に現れる「-」より右側を取りたい場合(後方検索)。

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

「-」の最後の位置を疑似的に探して、その右側を切り出します。

末尾n文字を取り、先頭・末尾の空白を除去

=TRIM(RIGHT(A2, n))

整形済みの末尾テキストだけを綺麗に取りたいときに便利です。

固定接尾辞の長さから切り出し(「_END」など)

=RIGHT(A2, LEN("_END"))

固定の末尾タグをそのまま抜き出して一致確認に使えます。

エラーに弱い入力の保護(区切りが無いとき)

区切りが見つからない場合は全文返す、あるいは空欄にするなど。

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

バイト数ベースが必要なとき(旧来のDBCS設定のみ)

日本語環境の一部設定では RIGHTB が「バイト数」で動作します(モダン環境では推奨しません)。

=RIGHTB(A2, バイト数)

通常はRIGHTを使い、文字ベースで設計してください。


よくあるつまずきと対策

数値や日付にそのままRIGHTを使うと意図と違う

RIGHTは“文字列”に対して使うのが基本です。数値や日付はTEXTで成形してから切り出しましょう。

=RIGHT(TEXT(A2, "0.00"), 2)

区切り文字が複数回出る場合の“最後の位置”検索

FIND/SEARCHは先頭からの最初の一致です。最後の一致を見たいならSUBSTITUTEで最後だけ置換するテクニックを使います。

=FIND("@", SUBSTITUTE(A2, ".", "@", LEN(A2)-LEN(SUBSTITUTE(A2, ".", ""))))

全角・半角の混在

スペースやハイフンが全角・半角で混在すると検出に失敗します。SUBSTITUTEで統一してから検索します。

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

文字数が0や負

文字数が0なら空文字、負はエラーです。可変文字数を計算するときは0未満にならないようMAXで保護します。

=RIGHT(A2, MAX(0, LEN(A2) - FIND("-", A2)))

例題

問題1: A2の右から4文字をB2に表示してください。

解答例:

=RIGHT(A2, 4)

問題2: 「AB-12345」形式の文字列A2から、ハイフンの右側だけをC2に表示してください。

解答例:

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

問題3: ファイル名D2から拡張子(ピリオド抜き)をE2に表示してください。

解答例:

=RIGHT(D2, LEN(D2) - FIND(".", D2))

問題4: 日付F2を「yyyy/mm/dd」に整形し、末尾2文字(“dd”)だけをG2に表示してください。

解答例:

=RIGHT(TEXT(F2, "yyyy/mm/dd"), 2)

問題5: 複数の「-」を含む文字列H2について、最後の「-」以降だけをI2に表示してください。

解答例:

=RIGHT(H2, LEN(H2) - FIND("@", SUBSTITUTE(H2, "-", "@", LEN(H2)-LEN(SUBSTITUTE(H2, "-", "")))))

まとめ

RIGHTは「右からn文字」を取り出す基本関数で、末尾コード・拡張子・後半固定桁の抽出に最適です。区切り文字との組み合わせ(FIND/SEARCH+最後の位置テクニック)、文字列化(TEXT)、整形(TRIM/SUBSTITUTE)を押さえると現場で安定します。日本語の全角も“1文字”として数えられるため、文字ベースで設計すればOK。末尾抽出の定番パターンをテンプレ化しておくと、迷わず再利用できます。

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