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

Excel
スポンサーリンク

概要

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


基本の考え方

数式の仕組み

=LEFT(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9}&"",A1&"0123456789"))-1)
  • FINDで文字列中の数字の位置を探す
  • MINで最初に出てきた数字の位置を取得
  • LEFTでその位置までを切り出す
  • VALUEで数値化すれば「数値」として扱える

この仕組みを応用すると「先頭の数字だけ」を抽出できます。


具体例

文字列「123ABC」から先頭の数字を抽出

=VALUE(LEFT(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9}&"",A1&"0123456789"))-1))

結果は「123」。

文字列「45XYZ」から先頭の数字を抽出

=VALUE(LEFT(B2,MIN(FIND({0,1,2,3,4,5,6,7,8,9}&"",B2&"0123456789"))-1))

結果は「45」。

数字が含まれない場合のエラー対策

=IFERROR(VALUE(LEFT(C2,MIN(FIND({0,1,2,3,4,5,6,7,8,9}&"",C2&"0123456789"))-1)),"")

数字がなければ空欄を返します。


応用テンプレート

先頭の数字を抽出して残りの文字列と分ける

=VALUE(LEFT(D2,MIN(FIND({0,1,2,3,4,5,6,7,8,9}&"",D2&"0123456789"))-1))

→ 数字部分

=RIGHT(D2,LEN(D2)-LEN(上記式))

→ 文字部分

数字を抽出して計算に使う

=VALUE(LEFT(E2,MIN(FIND({0,1,2,3,4,5,6,7,8,9}&"",E2&"0123456789"))-1))+100

先頭の数字に100を加算。

TRIMと組み合わせて余分なスペースを削除

=VALUE(LEFT(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です。

数字が途中にある場合

この方法は「先頭の数字」を対象にしています。途中の数字を取りたい場合は別の処理が必要です。

全角数字は対象外

「123ABC」のような全角数字は変換できません。ASC関数で半角に変換してから処理しましょう。


例題

問題1: A2セルの文字列「123ABC」から先頭の数字をB2に表示してください。

解答例:

=VALUE(LEFT(A2,MIN(FIND({0,1,2,3,4,5,6,7,8,9}&"",A2&"0123456789"))-1))

問題2: C2セルの文字列「45XYZ」から先頭の数字をD2に表示してください。

解答例:

=VALUE(LEFT(C2,MIN(FIND({0,1,2,3,4,5,6,7,8,9}&"",C2&"0123456789"))-1))

問題3: E2セルの文字列に数字が含まれない場合は空欄をF2に表示してください。

解答例:

=IFERROR(VALUE(LEFT(E2,MIN(FIND({0,1,2,3,4,5,6,7,8,9}&"",E2&"0123456789"))-1)),"")

問題4: G2セルの文字列から先頭の数字を抽出し、それに100を加算してH2に表示してください。

解答例:

=VALUE(LEFT(G2,MIN(FIND({0,1,2,3,4,5,6,7,8,9}&"",G2&"0123456789"))-1))+100

問題5: I2セルの文字列に余分なスペースがある場合、スペースを削除してから先頭の数字をJ2に表示してください。

解答例:

=VALUE(LEFT(TRIM(I2),MIN(FIND({0,1,2,3,4,5,6,7,8,9}&"",TRIM(I2)&"0123456789"))-1))

まとめ

「先頭の数字のみ抽出」はExcelに専用関数がないため、FIND・LEFT・VALUEの組み合わせで実現します。配列数式を使う点に注意し、IFERRORやTRIMを組み合わせると実務でさらに安定します。講師として強調したいのは「文字列処理は関数の組み合わせで自在にできる」ということ。これを理解すれば、Excelでのデータ整形が一段と効率的になります。

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