Excelで文字列から数字を抽出する方法を紹介!

Excelで文字列から数字を抽出する方法を紹介!

Microsoft Excelで、文字列から数字を抽出したいと思ったことはありませんか?文字やアルファベットが混じっているデータの中から、数字のみを取り出したいケースもありますよね。この記事では、Excelで文字列から数字を抽出する方法をご紹介しています。


目次[非表示]

  1. Excelで文字列から数字を抽出したい
  2. Excelで文字列から数字を抽出する方法

Excelで文字列から数字を抽出したい

Microsoft Excelで、文字列から数字抽出したいと思ったことはありませんか?「123A456」といった文字列の中からAを無視して「123456」のように数字を取り出したいというケースもあるかと思います。この記事では、Excelで文字列から数字を抽出する方法をご紹介していきます。

Excelで文字列から数字を抽出する方法

区切り位置機能で数字を抽出する

左から3番目のみアルファベットが入っている文字列
それでは、Excelで文字列から数字を抽出する方法を説明します。画像の例のように、特定の位置にアルファベットが入力されていて抜き出す数字の位置が決まっている場合は区切り位置機能を使用することで簡単に数字を抜き出すことができます。
数字の抜き出しを行いたい範囲を選択
まずは、数字の抜き出しを行いたい範囲をドラッグして選択しましょう。
「データ」タブ→「区切り位置」をクリック
続いてウィンドウ上部の「データ」タブをクリックしてリボンメニューを開き、「データツール」項目から「区切り位置」をクリックしましょう。
「スペースによって右または左に揃えられた固定長フィールドのデータ」を選択→「次へ」をクリック
「区切り位置指定ウィザード」ダイアログボックスが表示されるので、「データのファイル形式を選択してください」から「スペースによって右または左に揃えられた固定長フィールドのデータ」をクリックして選択してから「次へ」をクリックしましょう。
アルファベットの前後をクリックし矢印を挿入して「完了」をクリック
「フィールドの幅を指定してください。[データのプレビュー]ボックスの矢印の位置でフィールドに区切られます。」では、ダイアログボックス下部の「データのプレビュー」に表示されている文字列からアルファベットの前後をクリックして画像のように矢印を挿入して「完了」をクリックしましょう。もし矢印の挿入位置を間違えた場合は、上下にドラッグすることで削除することができますよ。
文字区切りが行われた
これで区切り位置機能により文字区切りが行われ、画像のように分割が行われますよ。あとは分割された数字を結合するなど、任意の操作を行いましょう。

LEFT関数・RIGHT関数・MID関数を使用する

数値の中から「左から抜き出す」・「右から抜き出す」・「特定位置から抜き出す」場合はそれぞれ「LEFT関数」・「RIGHT関数」・「MID関数」を使用します。

C3セルに「=LEFT(B3,2)」と入力
LEFT関数の数式は「=LEFT(文字列,文字数)」です。画像ではC3セルに「=LEFT(B3,2)」と入力して、アルファベットの前の2文字を抜き出しています。
アルファベットの前の数字を抽出できた
これで、アルファベットの前の数字を抽出することができました。
D3セルに「=RIGHT(B3,4)」と入力
次は右側から抜き出すので、RIGHT関数を使用します。RIGHT関数の数式は「=RIGHT(文字列,文字数)」です。画像の例では「=RIGHT(B3,4)」と入力して、アルファベットの後ろの4文字を抜き出しています。
アルファベットの後ろの数字を抽出できた
これで、アルファベットの後ろの数字を抽出することができました。
C3セルとD3セルを範囲選択しオートフィルを使用する
あとはC3セルとD3セルを範囲選択した状態でセルの右下のフィルハンドルをクリックして下方向に引っ張ることでオートフィルを使用して、残りのセルにも数式を適用しましょう。

特定位置から文字を抜き出す「MID関数」の数式は「=MID(文字列,開始位置,文字数)」です。LEFT関数やRIGHT関数が使用し辛い場合は、こちらの関数を使用して文字の抽出を行いましょう。

数字の位置に規則性がない場合

アルファベットの位置に規則性がない文字列
画像の例のように、アルファベットの位置がバラバラなため今まで説明してきた関数でまとめて操作ができないというケースもあるかと思います。Excel2021・Microsoft365限定になりますが、複数の文字列を連結する「CONCAT関数」と連続した数値の配列を作成することのできる「SEQUENCE関数」を併用することでこのようなケースでもまとめて数字のみを抽出することができます。
C3セルに「=CONCAT(IFERROR(MID(B3,SEQUENCE(LEN(B3)),1)*1,""))」と入力
C3セルに「=CONCAT(IFERROR(MID(B3,SEQUENCE(LEN(B3)),1)*1,""))」と入力することで、LEN関数で指定した文字列の文字数を返す・SEQUENCE関数でLEN関数で取り出した数値を配列として返す・MID関数でそれらの文字を取り出す・IFERROR関数でエラーが表示された場合に無視・最後にCONCAT関数で文字の結合を行っています。
規則性のない文字列からも数字のみを抽出できた
これで、規則性のない文字列からも数字のみを抽出することができました。もちろん、オートフィルで残りのセルに対して数式を適用することができますよ。

関連記事