エクセルで指定位置から
指定長さの文字を抽出する
(MID関数)

この記事は約4分で読むことができます。

2016-02-24 2018-05-11

  • キーワード
  • Excel
  • 関数
  • MID
  • 指定位置
  • 指定長さ
  • 文字抽出

エクセルで、ある文字列の指定した位置から、指定した長さの文字を抽出する「MID関数」の使い方を解説します。

1.MID関数の読み方

MID関数の読み方ですが、私は「ミッドカンスウ」と読んでいます。(これが正解かどうかは解りませんけど...)

2.MID関数で出来る事

例えば、下図のように8文字の日付が入っているA列があり、これを分解し「B列に年」「C列に月」「D列に日」と分けたいことがあります。 ひとつずつ作業すると、時間がかかり大変ですし、間違えて問題が発生する可能性も高いので、このような場合はMID関数を使うと一瞬で解決できます。

MID関数で出来る事

3.MID関数の書式

MID関数の書式は以下です。(全て半角英数で入力してください。)

=MID(引数1,引数2,引数3

  • 引数1:取り出す対象の文字列を指定する。
  • 引数2:取り出す文字列の先頭の文字数を指定する。(前から何文字目を起点とするか)
  • 引数3:取り出す文字列の長さを指定する。(取り出したい文字の長さ)

4.MID関数の使い方

4-1.「年」を取り出す

MID関数で「年」を取り出す

セルA2の文字列から「年」を取り出してセルB2に表示させたいので、以下の関数を「セルB2」に入力します。

=MID(A2,1,4)

  • 引数1は取り出す対象の文字列が入っている「A2」とします。
  • 引数2は取り出したい文字列の先頭(1文字目)の「1」を指定します。
  • 引数3は取り出す文字列の長さ(4桁)の「4」を指定します。

これでセルB2に「2001」が取り出せます。

4-2.「月」を取り出す

MID関数で「年」を取り出す

セルA2の文字列から「月」を取り出してセルC2に表示させたいので、以下の関数を「セルC2」に入力します。

=MID(A2,5,2)

  • 引数1は取り出す対象の文字列が入っている「A2」とします。
  • 引数2は取り出したい文字列の先頭(5文字目)の「5」を指定します。
  • 引数3は取り出す文字列の長さが(2桁)の「2」を指定します。

これでセルC2に「08」が取り出せます。

4-3.「日」を取り出す

MID関数で「日」を取り出す

セルA2の文字列から「日」を取り出してセルD2に表示させたいので、以下の関数を「セルD2」に入力します。

=MID(A2,7,2)

  • 引数1は取り出す対象の文字列が入っている「A2」とします。
  • 引数2は取り出したい文字列の先頭(7文字目)の「7」を指定します。
  • 引数3は取り出す文字列の長さが(2桁)なので「2」を指定します。

これでD2に「16」が取り出せます。

以上で「年」「月」「日」が、別々のセルに取り出せました。後は、下のセルに計算式をコピー&ペーストすれば、表が完成します。

エクセルの関数のコピーによるセル番地の固定やズレについては”関数コピー時のセル番地ズレを回避”の記事で詳しく解説していますので、良ければそちらを参照してください。

5.MID関数は文字列も取り出せる

MID関数は数字だけでなく、文字列も取り出せます。半角文字も全角文字も、1文字を「1」として数えます。

5-1.[参考]分解したものを結合してみる

さらに逆バージョンとして、三つのセルをひとまとにする計算式を以下に参考として掲載しますので、やってみてください。 「2001」「08」「16」と分解した日付を、セルE2に「2001年08月16日」と結合することも簡単です。

MID関数は文字列も取り出せる

6.MID関数で郵便番号のハイフン(横棒)付きにする

MID関数で取り出した文字列を結合してみます。A1セルに入っている「0640941」となった郵便番号を、「〒064-0941」とハイフン付きにすることも簡単です。

="〒"&MID(A1,1,3)&"-"&MID(A1,4,4)

ひとつめのMID関数で1文字目から3文字分を取出し、ふたつめのMID関数で4文字目から4文字分を取出し、頭に"〒"の記号を付けて、さらに文字列”-(ハイフン)”で連結しています。

7.MID関数の右からバージョン(文字列の後ろから取り出す。)

MID関数は左から文字を数えますが、右から数えることはできません。 右から取り出したい場合はRIGHT関数を使うと解決できます。

同じカテゴリの記事