EXCELのYouTube始めました!

EXCEL初心者に向けたYouTubeチャンネルを開始しました(^^)/
ぜひチャンネル登録よろしくお願いします!

効率よくエクセルを学ぶ!

【Excel】エクセルにて数字だけを抽出(抜き取り)する方法【関数など】

Excelのスキルアップ
スポンサーリンク

この記事では「エクセルにて数字のみを抽出(抜き取り)する方法」について説明します。

実現方法ですが「数字の場所が決まっている場合」と「そうでない場合」で処理の難易度が変わります。

場所が決まっている場合は比較的簡単で、そうでない場合はいろいろとテクニックを駆使しなくては難しいです。

それでは詳細を見ていきましょう。

 

スポンサーリンク

エクセルにて数字のみを抽出(抜き取り)する方法:数字の場所が決まっている場合

まずは「エクセルにて数値だけを抽出する方法」をチェックしていきます。

IDなどで、先頭2文字がアルファベット、それ以後が数字などの場合には、簡単な関数で数字だけを取り出すことができます。

この場合は、MID関数かRIGHT関数を使いましょう。

それぞれ、やってみましょう。図のように表を拡張します(この場合、テーブルを作っています)

MID関数で数字を抽出したい場所に、「=MID(B3,3,6)」と入力します。

これで、B列のID欄にあるものから数字だけがC列に表示されていると思います。

次に、RIGHT関数で数字を抽出したい場所に、「=RIGHT(B3,6)」と入力します。

これで、B列のID欄にあるものから数字だけがD列に表示されていると思います。

 

それぞれの関数について説明します。

まず、MID関数とは、ある文字列の真ん中を取り出すための関数です。

書式としては、

=MID(文字列、開始位置、範囲)

となります。

今回の場合はかっこの中に(B3,3,6)と書かれています。

これは左から、

・対象の文字列(今回の場合はセルを指定しているので「B3」)

・開始位置(今回の場合は左から3文字目が開始位置なので「3」)

・取り出したい文字列の長さ(今回の場合6桁を取り出すので「6」)

を表しています。

 

次にRIGHT関数ですが、こちらはある文字列の右側を取り出すための関数です。

書式としては、

=RIGHT(文字列、範囲)

となります。

今回の場合はかっこの中に(B3,6)とかかれています。

これは、

・対象の文字列(今回の場合はセルを指定しているので「B3」)

・取り出したい文字列の長さ(今回の場合6桁を取り出すので「6」)

を表しています。

今回の場合はどちらを使っても同じ結果でしたが、例えば「A9999AA」といった、真ん中に数字があるときはMID関数、今回のように「AA99999」のように右側に数字が並んでいるときはRIGHT関数で数字を取り出すとよいでしょう。

 

エクセルにて数字のみを抽出(抜き取り)する方法:数字の場所が決まっていない場合

では下図のようにアルファベットの文字数がばらばらの場合に「数字のみを抜き取りするにはどうしたらよいか?」見ていきましょう。

この場合は、先ほど使ったMID関数にMIN関数、FIND関数、LEN関数を組み合わせます。

実際にやってみます。

数列のみを表示したいセル(今回の場合はC3)に、「=MID(B3,MIN(FIND({0,1,2,3,4,5,6,7,8,9},B3&”0123456789″”)),LEN(B3))」と入力します。

これで、数字のみが表示されるようになりました。

ここからは今回使った関数を説明していきます。

今回は3つの関数を使いました。それぞれ、

MID関数:MID(文字列、開始位置、範囲)

MIN関数:MIN(文字列)

FIND関数:FIND(探したい文字列、対象の文字列)

LEN関数:LEN(文字列)

となります。

簡単な書き方をすると、MID関数で抽出する内容を、FIND関数、MIN関数、LEN関数で求める、というやり方をしています。

MID関数の中では、

文字列:ベースとするセルなので「B3」

開始位置:セルごとに頭についているアルファベットの数が違うので、数字の先頭
を求める必要があります。

なので、まずFIND関数で数字を見つけます。
探したい文字列:数字なので、「{0,1,2,3,4,5,6,7,8,9}」({}の中にあるものすべてが探したい文字列の対象になります)

対象の文字列:ベースとなるセルなので「B3」ですが、一文字も数字が含まれていないとエラーになってしまうため、セルの値に「“0123456789″」を追加するため

「B3&”0123456789″」

さらにFIND関数で見つけた数値の中で一番左にあるものを見つける必要があるので、MIN関数で囲むことで最小値が見つかり、そこが開始位置になります。

範囲:必要な桁数を見つけるため、セルに歩けたすべてを対象にしますので、LEN関数を使います。

 

 

エクセルにて数字のみを抽出(抜き取り)する方法:文字と数字が混在している場合

文字と数字が混在しているセルの数字を抽出するのはさらに複雑です。

この場合に数値だけを抜き出す方法をチェックします。

この場合は、LEN関数、MID関数、IFERROR関数、CONCATENATE関数を組み合わせて実現します。

この方法は一度では実現できず、段階を追っていく必要がありますので、順に説明していきます。

 

まずは、セルの文字数を取得するため、LEN関数を使用します。IDの隣に「=LEN(B3)」と入力します。

LEN関数は、「LEN(文字列)」という書き方になり、文字列に入ったものの文字数を返してくれます。今回の場合は求めたい文字列がB3のセルにあるため、「LEN(B3)」となり、これは「LEN(A1B2C3)」と書いていることと同じ意味になります。

なので、セルには文字数である「6」が入力されます。

次に、文字を分解していきます。今回の場合は6文字なので、D2からI2に1~6の数字を入れます。

次は、D3のセルに「=MID($B3,D2,1)」と入力します。

このMID関数は「MID(文字列、開始位置、文字数)」という形での記載になります。

今回の場合は、

文字列:IDを参照したいのでB3を指定します。B3の前に「$」を付けるのは、参照をB列に固定するためです。これはこの後、式をE列以降に展開するためにつけています。

開始位置:番号で指定しますので、先ほど入力したD2の値を入れています。

文字数:一文字だけを取り出したいので、「1」と入力します。

この結果は、下のようになります。先頭の文字である「A」が表示されました。

次に、今D3に入力した式を残りのセルにコピーします。

今、D3のセル右下に小さい「■」があるので、それをマウスでドラッグしてI3まで引っ張ります。

そうすると、下図のようになります。

これでまず、B3の値が6つのセルに分解できました。

 

次は、数字かどうかを判断していきます。これにはIFERROR関数を使用します。

D4のセルに「=IFERROR(D3*1,””)」と入力します。

IFERROR関数は、

「IFERROR(計算式、エラーの時に表示するもの)」

という書き方になります。

今回の場合は、

文字列:D3のセルに1をかける=文字×数字なのでエラーになる

エラーの時に表示するもの:何も表示しないので、「””」

となります。

このセルだけだとわからないので、先ほどと同じようにD4セルの右下にある小さい「■」をどらっぐしてI4まで展開します。

そうすると、以下のようになります。

これで4行目は数字のセルだけが表示されるようになりました。

 

最後です。D4~I4のセルを結合させたいので、CONCATENATE関数を使用します。

セルB4に結果を書きたいので、セルB4に「=CONCATENATE(D4&E4&F4&G4&H4&I4)」と入力します。

CONCATENATE関数はカッコ内をつなげて表示するための関数です。今回の場合はD4~I4をつなげたかったので、それぞれを「&」でつなげて表示する、ということをやっています。

これで、B4セルに「123」と表示され、無事に数字だけが抽出できました。

実際にこれを使うときはIDは縦にずっと並ぶと思いますので、その時は4行目に書いたものはJ列以降に横に並べて作る方がよいでしょう。

 

まとめ エクセルにて数値だけを抽出(抜き取り)する方法【関数など】

今回はセルに書かれた文字から数字だけを取り出す方法を説明しました。

アルファベットが混じった数字から数字だけを取り出すことがこれでできますので、ぜひ活用してください。

コメント

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