Excelのセルには、商品名と型番、住所と郵便番号、文字列と金額のように、文字と数字が混在したデータが入力されることがあります。

そのままでは集計や計算に使いにくいため、数字だけを取り出して別のセルに表示したい場面も少なくありません。

Excelでは、数字の位置が決まっている場合はMID関数やRIGHT関数を使い、位置が決まっていない場合は配列数式や新しい関数を組み合わせて対応できます。

文字列の中から数字だけを抽出する方法は、数字の位置が固定かどうかで選ぶ関数が変わります。

先頭や末尾の数字にはLEFT関数やRIGHT関数が便利です。

途中の数字にはMID関数を使います。

位置が不規則な場合は、TEXTJOIN関数とSEQUENCE関数などを組み合わせます。

この記事では、Excelで数字だけを抽出する代表的な関数、一部抽出の考え方、抽出後に計算へ使う際の注意点を、サンプルデータを交えながら解説します。

サンプルデータはすべて1行目に見出しがあり、実際のデータは2行目から入力されているものとして説明します。

 

エクセルで数字だけを抽出する関数の選び方

それではまず、数字だけを抽出する関数の選び方について解説していきます。

A列 商品コード B列 数字の位置 C列 適した関数
AB-1200 末尾 RIGHT
X45-Blue 途中 MID
A1B23C 不規則 TEXTJOINなど

文字列から数字を取り出す前に、数字がどこにあり、何桁なのかを確認することが重要です。

桁数と位置が一定なら短い数式で済みますが、商品コードごとに形式が異なる場合は、文字を1文字ずつ判定する数式が必要になります。

末尾にある固定桁数の数字

末尾の数字を取り出す場合は、RIGHT関数がもっともわかりやすい選択です。

たとえばA2セルに「AB-1200」が入り、末尾4桁の「1200」を抽出したい場合を考えます。

エクセルで数字だけを抽出する関数の選び方 - 末尾にある固定桁数の数字

=RIGHT(A2,4)

RIGHT関数は、指定したセルの右端から必要な文字数だけを返す関数です。

この例では第1引数にA2、第2引数に4を指定しているため、右側から4文字の1200が返されます。

数字が常に末尾にあり、桁数が毎回同じなら、RIGHT関数だけで抽出できます。

ただし、AB-950のように数字が3桁へ変化するデータでは、4文字を取るとハイフンまで含まれるため注意が必要です。

【操作のポイント】RIGHT関数は右端の文字数を基準にするため、数字の桁数が固定されているコードに向いています。

先頭にある固定桁数の数字

先頭から数字を抽出するなら、LEFT関数を使用します。

A2セルに「2026年度売上」と入力され、先頭4桁の年度だけを取り出したい場合は、次の数式を入力しましょう。

エクセルで数字だけを抽出する関数の選び方 - 先頭にある固定桁数の数字

=LEFT(A2,4)

LEFT関数は左端から指定した文字数を返します。

数式の結果は2026となり、文字列に見える場合でも後から数値へ変換することが可能です。

日付の年だけを文字列から取り出す用途や、先頭に連番が付いた管理番号の処理でも役立ちます。

先頭の数字を取り出す場合は、開始位置を指定する必要がないため、MID関数よりもLEFT関数のほうが簡潔です。

【操作のポイント】先頭の数字が3桁や4桁で固定されているかを確認してから、LEFT関数の文字数を設定しましょう。

途中にある数字の位置

文字列の途中に数字がある場合は、MID関数で開始位置と文字数を指定します。

たとえば「X45-Blue」から45だけを抽出したい場合、Xの次の2文字を取り出す考え方になります。

=MID(A2,2,2)

MID関数の第1引数は対象セル、第2引数は取り出しを始める位置、第3引数は取り出す文字数です。

この数式では、A2の2文字目から2文字を取得するため、結果は45になります。

開始位置は1ではなく2から数える点に注意しましょう。

Excelの文字位置は、先頭文字を1として数えます。

【操作のポイント】MID関数では、数字の前に何文字あるかと、数字が何桁かの両方を数えて指定します。

 

固定位置の数字を一部抽出する方法

続いては、固定位置の数字を一部抽出する方法を確認していきます。

A列 元データ B列 抽出結果
商品-2026-015 2026
東京100-0001 1000001
No.0085 0085

一部抽出では、元データの書式が統一されていることが前提になります。

同じ位置に同じ桁数の数字があるなら、MID関数をコピーするだけで大量のデータを素早く処理できます。

ハイフンで区切られた中央の数字

「商品-2026-015」のように、中央に年や分類番号が入るデータではMID関数が便利です。

ここではA2セルの4文字目から4文字を取り出す式をB2セルに入力します。

固定位置の数字を一部抽出する方法 - ハイフンで区切られた中央の数字

=MID(A2,4,4)

商品という文字列は2文字ですが、後ろにハイフンが1文字あるため、2026の開始位置は4文字目になります。

数式を入力した後、B2セル右下のフィルハンドルを下方向へドラッグすれば、3行目以降にも数式をコピーできます。

データが多い場合はフィルハンドルをダブルクリックすると、隣接するA列の入力範囲に合わせて数式が入ります。

【操作のポイント】開始位置には区切り記号も1文字として含まれるため、ハイフンや空白を数え忘れないようにします。

区切り記号の位置を利用する抽出

固定位置の数字を一部抽出する方法 - 区切り記号の位置を利用する抽出

数字の開始位置が固定ではなくても、ハイフンなどの区切り記号が必ずある場合はFIND関数を組み合わせられます。

たとえば「商品-2026-015」から1つ目と2つ目のハイフンの間にある2026を取り出す数式は、次のようになります。

=MID(A2,FIND(“-“,A2)+1,FIND(“-“,A2,FIND(“-“,A2)+1)-FIND(“-“,A2)-1)

FIND関数は文字列の中にある特定文字の位置を返します。

最初のFIND関数で1つ目のハイフンを見つけ、入れ子にしたFIND関数で2つ目のハイフンを探しています。

開始位置は1つ目のハイフンの次なので、位置に1を加えます。

文字数は2つ目のハイフンの位置から1つ目の位置を引き、数字だけにするためさらに1を引く仕組みです。

FIND関数を組み合わせると、前側の文字数が変わっても区切り記号を基準にして抽出できます。

【操作のポイント】区切り記号が存在しないデータではエラーになるため、入力形式の確認やIFERROR関数の併用が有効です。

郵便番号や管理番号の先頭ゼロ

郵便番号や管理番号を抽出するときは、先頭のゼロを残す必要があるかを先に判断します。

「No.0085」から0085を取り出す場合、MID関数で文字列として取得すれば、先頭ゼロはそのまま表示されます。

=MID(A2,4,4)

抽出結果を数値に変換すると、0085は85になります。

表示用の番号なら文字列のまま扱い、合計や比較などの計算に使う値なら数値へ変換する、という使い分けが大切です。

先頭ゼロに意味がある番号は、数値ではなく文字列として管理するのが基本です。

【操作のポイント】電話番号、郵便番号、社員番号などは計算対象ではないことが多いため、数値化前に先頭ゼロの必要性を確認しましょう。

 

不規則な文字列から数字だけを抜き出す数式

続いては、不規則な文字列から数字だけを抜き出す数式を確認していきます。

A列 元データ B列 数字だけの結果
A1B23C 123
第45回_2026年 452026
S-9X-18 918

文字と数字の並び方が行ごとに違う場合は、固定位置を指定するMID関数だけでは対応できません。

Microsoft 365やExcel 2021以降では、動的配列関数を利用すると、各文字を判定しながら数字だけをつなげる処理ができます。

TEXTJOIN関数とSEQUENCE関数の組み合わせ

A2セルの「A1B23C」から123を抽出する場合は、次の数式をB2セルへ入力します。

数字抽出.xlsx – Excel− □ ×
ファイルホーム挿入数式データB ▦ 中央揃え %
B2fx=TEXTJOIN(“”,TRUE,IFERROR(MID(A2,SEQUENCE(LEN(A2)),1)*1,””))
A B C
1 元データ 数字のみ
2 A1B23C 123
3 第45回_2026年
赤枠のB2に数式を入力

=TEXTJOIN(“”,TRUE,IFERROR(MID(A2,SEQUENCE(LEN(A2)),1)*1,””))

SEQUENCE(LEN(A2))は、A2セルの文字数分だけ1、2、3という連続した位置番号を作ります。

MID関数はそれぞれの位置から1文字ずつ取り出し、文字に1を掛けることで数値へ変換できるかを判定します。

数字以外は変換時にエラーとなりますが、IFERROR関数によって空文字へ置き換えられます。

最後にTEXTJOIN関数が空文字を無視して、残った数字を順番につなげます。

TEXTJOIN関数の区切り文字を空文字にすることで、抽出した数字を間に何も入れず結合できます。

【操作のポイント】この数式はMicrosoft 365などの新しいExcelで使いやすく、数式バーへそのまま入力してB2からオートフィルします。

数値として計算に使うための変換

TEXTJOIN関数の結果は文字列になることがあるため、計算へ使う場合はVALUE関数で数値化します。

抽出した数字を金額や個数として扱いたいときは、数式全体をVALUE関数で囲みます。

=VALUE(TEXTJOIN(“”,TRUE,IFERROR(MID(A2,SEQUENCE(LEN(A2)),1)*1,””)))

たとえばA2に「数量A12B」があり、B2で12を数値として抽出できれば、B2に5を掛けて60を計算できます。

数値として扱われているかは、既定ではセル内で右寄せになることや、SUM関数で集計できることから確認できます。

ただし、抽出対象に数字が一つもないと、VALUE関数はエラーになる場合があります。

その場合はIFERROR関数で数式全体を囲み、0または空白を返す設定にすると実務で扱いやすくなります。

=IFERROR(VALUE(TEXTJOIN(“”,TRUE,IFERROR(MID(A2,SEQUENCE(LEN(A2)),1)*1,””))),0)

抽出結果を合計、平均、掛け算に使うなら、文字列ではなく数値として返す設計が必要です。

【操作のポイント】番号として表示したいのか、数量や金額として計算したいのかで、VALUE関数を付けるか決めましょう。

数字が複数グループある場合の注意点

「第45回_2026年」のように数字のグループが複数ある文字列では、前述の数式は452026という一続きの数字を返します。

これは数字だけをすべて抽出する目的には合いますが、45と2026を別々に取得したい場合には向きません。

別々の数字を取り出すには、区切り記号、特定の文字、または入力規則を基準にしてMID関数とFIND関数を使い分けます。

たとえば「第」の直後から「回」の直前までを取り出せば45を取得できます。

=MID(A2,FIND(“第”,A2)+1,FIND(“回”,A2)-FIND(“第”,A2)-1)

同様に、アンダーバーの次から年の前までを抽出すれば2026を得られます。

数字だけを連結する式と、意味の異なる数字を個別に抽出する式は、目的が異なります。

【操作のポイント】年、回数、数量など複数の数値が混在するデータでは、数字の前後にある文字を目印にして列を分けます。

 

抽出した数字を計算に利用する設定

続いては、抽出した数字を計算に利用する設定を確認していきます。

A列 品名 B列 抽出数量 C列 単価 D列 金額
商品A 数量12 12 500 6000

数字を取り出すだけでなく、掛け算や合計に活用したいなら、セルの値が数値であることを確認しましょう。

VALUE関数による文字列の数値化

MID関数、LEFT関数、RIGHT関数で抽出した値は、元データや表示形式によって文字列として扱われることがあります。

VALUE関数を使うと、数字で構成された文字列を計算可能な数値へ変換できます。

=VALUE(RIGHT(A2,2))

たとえばA2の「商品A 数量12」から末尾の12を取り出す場合、VALUE関数を付けることで集計しやすくなります。

数字に見えてもSUM関数で合計できない場合は、文字列として保存されている可能性があります。

【操作のポイント】数値化後にセルの表示が右寄せになり、数式で計算できるかを確認します。

掛け算とSUM関数による集計

B列に抽出した数量、C列に単価がある場合、D2セルには次の式を入力します。

=B2*C2

B2が12、C2が500なら、D2には6000が表示されます。

その後、D列の金額を合計するには、表の最終行の下などへSUM関数を入力します。

=SUM(D2:D100)

抽出した値を計算へ使う場合、空白セルやエラーセルが含まれると結果に影響することがあります。

入力漏れが起きやすい表では、IFERROR関数で0を返す式を使う方法も有効です。

【操作のポイント】抽出列、単価列、計算列を分けると、途中で数式を確認しやすく、修正も簡単になります。

先頭ゼロを保ちながら計算用の値を分ける方法

商品番号の0085は文字列として残し、別途計算に使う数量だけを数値化する運用が安全です。

1つの列に番号と数量を混在させず、表示用の列と計算用の列を分けましょう。

管理番号は文字列、売上数量や金額は数値という区別を作ると、並べ替えや集計でのトラブルを減らせます。

先頭ゼロを残す値と計算する値は、同じ数字でもデータの役割が異なります。

【操作のポイント】番号列には文字列として保存し、計算列にはVALUE関数などで変換した数値を置く構成が実務向きです。

 

数字抽出で起こりやすいエラーと対処法

続いては、数字抽出で起こりやすいエラーと対処法を確認していきます。

状況 主な原因 対処
VALUEエラー 数字以外を数値化 IFERRORを追加
先頭ゼロ消失 数値へ変換 文字列で保持
抽出位置ずれ 書式の混在 区切り文字を利用

VALUEエラーが表示される場合

VALUE関数で数値化しようとした対象に文字や空白が残っていると、VALUEエラーが表示されます。

エラーを表示させたくない場合は、IFERROR関数で数式を囲みます。

=IFERROR(VALUE(MID(A2,4,4)),0)

この式では、変換できない場合に0を返します。

0ではなく空白にしたい場合は、最後の0を空文字へ変更します。

【操作のポイント】エラーを隠す前に、元データの形式が想定どおりかを確認することが大切です。

全角数字や全角記号が含まれる場合

全角数字や全角ハイフンが混在すると、FIND関数で半角の記号を探しても見つからない場合があります。

データの入力元が異なると、見た目は似ていても内部の文字が違うことがあります。

ASC関数で半角へ変換できるケースもありますが、文字種や環境によって結果を確認しましょう。

抽出できない原因は数式ではなく、全角と半角の混在にあることもあります。

【操作のポイント】関数を修正する前に、数式バーでハイフン、空白、数字が全角か半角かを確認します。

データ形式が行ごとに異なる場合

同じ列に「AB-1200」「X45-Blue」「No.0085」のような異なる書式が混在すると、固定位置を指定する式では対応できません。

データを種類別に分けるか、区切り記号を基準にする式、数字だけを連結する式を使い分ける必要があります。

入力規則を決め、コード形式を統一できれば、その後の抽出と集計が安定します。

最も効率的な対策は、抽出後の処理ではなく、元データの入力形式をそろえることです。

【操作のポイント】取引先や担当者ごとに入力形式が違う場合は、データ受け取り時点で形式を整える手順を作りましょう。

 

まとめ エクセルの数字だけを抽出する方法(計算・一部抽出・関数)

Excelで数字だけを抽出する方法は、数字がある位置と、抽出後の用途を基準に選ぶことがポイントです。

末尾の固定桁数を取り出すならRIGHT関数、先頭ならLEFT関数、途中ならMID関数が基本になります。

ハイフンなどの位置を基準にする場合はFIND関数を組み合わせると、前側の文字数が変わっても対応できます。

文字と数字が不規則に混在するデータでは、TEXTJOIN関数、SEQUENCE関数、IFERROR関数を組み合わせることで、数字だけを抽出できます。

抽出結果を合計や掛け算に利用する場合は、VALUE関数で数値化されているかを確認しましょう。

一方で、郵便番号や管理番号のように先頭ゼロが意味を持つ値は、文字列のまま扱う必要があります。

数字だけを取り出す数式を使い分け、データ整理、集計、計算を効率よく進めていきましょう。

ABOUT ME
white-circle7338
私自身が今まで経験・勉強してきた「エクセル」「ビジネス用語」「生き方」などの情報を、なるべくわかりやすく、楽しく、発信していきます。 一緒に人生を楽しんでいきましょう