Excel関数 逆引き集 | 末尾の数字のみ抽出 → 数式組合せ

Excel
スポンサーリンク

概要

Excelで「文字列の末尾にある数字だけを抽出したい」という場面はよくあります。例えば「ABC123」という文字列から「123」だけを取り出すケースです。Excelには直接「末尾の数字だけを抜き出す」関数はありませんが、複数の関数を組み合わせることで実現できます。代表的な方法は、RIGHTLENMINFINDを組み合わせるやり方です。


基本の考え方

数式の仕組み

=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でのデータ整形が一段と効率的になります。

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