概要
Excelで「文字列の末尾にある数字だけを抽出したい」という場面はよくあります。例えば「ABC123」という文字列から「123」だけを取り出すケースです。Excelには直接「末尾の数字だけを抜き出す」関数はありませんが、複数の関数を組み合わせることで実現できます。代表的な方法は、RIGHT・LEN・MIN・FINDを組み合わせるやり方です。
基本の考え方
数式の仕組み
=RIGHT(A1,LEN(A1)-MIN(FIND({0,1,2,3,4,5,6,7,8,9}&"",A1&"0123456789"))+1)
- FINDで文字列中の数字の位置を探す
- MINで最初に出てきた数字の位置を取得
- LENで文字列全体の長さを取得
- RIGHTで「数字が始まる位置から末尾まで」を切り出す
この仕組みを応用すると「末尾の数字だけ」を抽出できます。
具体例
文字列「ABC123」から末尾の数字を抽出
=RIGHT(A1,LEN(A1)-MIN(FIND({0,1,2,3,4,5,6,7,8,9}&"",A1&"0123456789"))+1)
結果は「123」。
文字列「XYZ45」から末尾の数字を抽出
=RIGHT(B2,LEN(B2)-MIN(FIND({0,1,2,3,4,5,6,7,8,9}&"",B2&"0123456789"))+1)
結果は「45」。
数字が含まれない場合のエラー対策
=IFERROR(RIGHT(C2,LEN(C2)-MIN(FIND({0,1,2,3,4,5,6,7,8,9}&"",C2&"0123456789"))+1),"")
数字がなければ空欄を返します。
応用テンプレート
数字部分を抽出して数値化
=VALUE(RIGHT(D2,LEN(D2)-MIN(FIND({0,1,2,3,4,5,6,7,8,9}&"",D2&"0123456789"))+1))
抽出した数字を数値として扱えるようになります。
文字部分と数字部分を分ける
=LEFT(E2,LEN(E2)-LEN(抽出式))
文字部分を取り出し、抽出式で数字部分を取り出す。
TRIMと組み合わせて余分なスペースを削除
=VALUE(RIGHT(TRIM(F2),LEN(TRIM(F2))-MIN(FIND({0,1,2,3,4,5,6,7,8,9}&"",TRIM(F2)&"0123456789"))+1))
よくあるつまずきと対策
配列数式が必要な場合がある
古いExcelでは「Ctrl+Shift+Enter」で確定する必要があります。Microsoft 365では通常のEnterでOKです。
全角数字は対象外
「ABC123」のような全角数字は変換できません。ASC関数で半角に変換してから処理しましょう。
数字が途中にある場合
この方法は「末尾の数字」を対象にしています。途中の数字を取りたい場合は別の処理が必要です。
例題
問題1: A2セルの文字列「ABC123」から末尾の数字をB2に表示してください。
解答例:
=RIGHT(A2,LEN(A2)-MIN(FIND({0,1,2,3,4,5,6,7,8,9}&"",A2&"0123456789"))+1)
問題2: C2セルの文字列「XYZ45」から末尾の数字をD2に表示してください。
解答例:
=RIGHT(C2,LEN(C2)-MIN(FIND({0,1,2,3,4,5,6,7,8,9}&"",C2&"0123456789"))+1)
問題3: E2セルの文字列に数字が含まれない場合は空欄をF2に表示してください。
解答例:
=IFERROR(RIGHT(E2,LEN(E2)-MIN(FIND({0,1,2,3,4,5,6,7,8,9}&"",E2&"0123456789"))+1),"")
問題4: G2セルの文字列から末尾の数字を抽出し、それを数値としてH2に表示してください。
解答例:
=VALUE(RIGHT(G2,LEN(G2)-MIN(FIND({0,1,2,3,4,5,6,7,8,9}&"",G2&"0123456789"))+1))
問題5: I2セルの文字列に余分なスペースがある場合、スペースを削除してから末尾の数字をJ2に表示してください。
解答例:
=VALUE(RIGHT(TRIM(I2),LEN(TRIM(I2))-MIN(FIND({0,1,2,3,4,5,6,7,8,9}&"",TRIM(I2)&"0123456789"))+1))
まとめ
「末尾の数字のみ抽出」はExcelに専用関数がないため、FIND・RIGHT・LENの組み合わせで実現します。配列数式を使う点に注意し、IFERRORやTRIMを組み合わせると実務でさらに安定します。講師として強調したいのは「文字列処理は関数の組み合わせで自在にできる」ということ。これを理解すれば、Excelでのデータ整形が一段と効率的になります。
