エクセルで文字列を右から数えて取り出す方法|MID・RIGHT・SUBSTITUTEの使い分け

記事
ビジネス・マーケティング
MID関数は、左から何文字目、と数える関数です。右から数えて取り出したいときは、文字数をLEN関数で出して、そこから開始位置を計算します。やりたいことごとに、使う式を分けて書きます。

■ 右から○文字を取り出す(いちばん簡単)
=RIGHT(A2,2)
「AB-2026-0415-XL」なら、右から2文字の「XL」が取れます。

■ 右から4文字目から2文字を取り出す(MIDで右から数える)
=MID(A2,LEN(A2)-4+1,2)
意味は「全体の文字数−4+1文字目から、2文字」です。4を「右から何文字目か」に替えて使います。
試した結果:
・AB-2026-0415-XL → 5-
・CD-2026-1203-M → 03
・EF-2025-0098-XXL → -X
文字数が変わる表では、いつも同じ位置から取れます。

■ 末尾の○文字をのぞく
=LEFT(A2,LEN(A2)-3)
AB-2026-0415-XL なら「AB-2026-0415」になります(末尾の「-XL」を除く)。のぞく文字数が行ごとに違うときは、次の方法を使います。

■ 最後の「-」より後ろを取り出す(文字数がバラバラのとき)
区切りの「-」が何個あっても、最後の「-」より後ろだけを取る式です。
=TRIM(RIGHT(SUBSTITUTE(A2,"-",REPT(" ",100)),100))
試した結果:XL・M・XXL(長さが違っても取れました)。
「-」をすべて空白100個に置き換え、右から100文字を取り、前の空白を TRIM で消す、という仕組みです。ファイル名の最後の「.」より後ろ(拡張子)も、「-」を「.」にするだけで取れます。
=TRIM(RIGHT(SUBSTITUTE(G2,".",REPT(" ",100)),100))
試した結果:「報告書.final.pdf」→ pdf、「写真.2026.10.jpg」→ jpg。

■ 最後の「-」の位置を調べて、MIDで取り出す
位置を出す式(C2に入れる):
=FIND("@",SUBSTITUTE(A2,"-","@",LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))))
「-」の数を数え、最後の1つだけを「@」に置き換えて探します。試した結果は3行とも13でした。
取り出す式:
=MID(A2,C2+1,100)
試した結果:XL・M・XXL。最後の100は「十分大きい数」で、後ろを全部取る意味です。

■ うまくいかない時
・#VALUE! が出る:区切りの文字が1つも無い行です。IFERROR で囲みます。
=IFERROR(TRIM(RIGHT(SUBSTITUTE(A2,"-",REPT(" ",100)),100)),A2)
・取り出した数字を計算に使えない:取り出した結果は文字です。数字として使うときは =VALUE(…) で囲みます。

■ 向かない場合
文字の並びがばらばらで、住所や名前など毎回ちがう規則で分けたい表は、式を足していくより、表の作りから整えたほうが早いことがあります。自分で組み直す時間がないときは、専門の調整を使うのも1つの方法です。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す