Excel MID関数の使い方

MID関数Excel
この記事は約3分で読めます。

MID関数

文字列から指定した開始桁から指定した文字数を抜き出すのがMID関数です。

MID(文字列,開始位置,文字数)

文字列の指定された位置から、指定された数の文字を返します。半角と全角の区別なく、1文字を1として処理します。

Excel 関数の挿入

引数には以下が使用できます。

引数内容
文字列検索の対象となる文字を含む文字列を指定します
開始位置抜き出したい文字列の先頭文字の位置を指定します
文字数抜き出す文字の数を指定します

MID関数の使用例

例1 文字列「ココッチ ブログ」から「ッチ」を抜き出します。

MID関数
ッチ取得

例2 以下表のB列の「名字+空白+名前」から名字を抜き出します。

開始位置・文字数が名前によって変わります。このような場合は計算して開始位置と文字数を求めます。

今回のB列では名字と名前の間に” ”(全角の空白)があるのでSEARCH関数を使用して空白の位置を取得します。

空白の開始位置:SEARCH(“ ”,B2,1)

名字の開始位置は”1″で固定のため計算式は以下となります。

=MID(B2,1,SEARCH(“ ”,B2,1)-1)

文字数は空白の開始位置の一つ前となるためSEARCH関数の結果から「-1」します。

計算式を入力
名前を抽出

ただし、B列の名前に” ”(全角空白)がない場合はエラーとなってしまいます。

空白がない場合はエラーとなる

これはきれいじゃないので「IFERROR関数」で回避しましょう。

=MID(B2,1,IFERROR(SEARCH(“ ”,B2,1)-1,LEN(B2)))

空白位置の取得に失敗した場合に、LEN関数で文字列全体の文字数を取得します。

IFERROR関数で回避

※IFERROR関数:第一引数がエラーの場合に、第2引数の値を返します。

※LEN関数:文字列の文字数を返します。

例3 以下表のB列の「名字+空白+名前」から名前を抜き出します。

例2と同じ表から名前を抽出します。

名字と同様に” ”(全角空白)の位置がポイントになります。

” ”(全角空白)の次の文字が開始位置になります。

名前の開始位置:SEARCH(“ ”,B2,1)+1

文字数は全体の文字数から” ”(全角空白)の位置を引くと取得されます。

「チョン ソンリョン」は全体で9文字で全角空白は4桁目にあり、引くと5文字といった感じです。

名前の文字数:LEN(B2) – SEARCH(“ ”,B2,1)

開始位置と文字数の数式を利用して以下の計算式をE2セルに入れます。

=MID(B2,SEARCH(“ ”,B2,1)+1,LEN(B2)-SEARCH(“ ”,B2,1))

名前の取得

こちらも名字と同様に” ”(全角空白)が存在しないとエラーとなります。

空白がないとエラー

これもIFERROR関数を使って回避します。今回はエラーの場合に”-”に置き換えます。

=IFERROR(MID(B2,SEARCH(“ ”,B2,1)+1,LEN(B2)-SEARCH(“ ”,B2,1)),”-”)

IFERROR関数で回避

出来上がりです。これを手作業で分けるのは気が遠くなるのでMID関数をうまく利用して文字列を抽出していきましょう。

まとめ

MID関数はご紹介した「SEARCH関数」「LEN関数」と一緒に使うとかなり便利に使えるので是非覚えてください。

コメント

  1. […] […]

  2. […] […]

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