Googleスプレッドシートで文字列の真ん中部分を抽出することができる関数『MID関数』について説明・解説していきます。
文字列を扱うときに、よく用いる関数なので、知らない方は最後まで記事見て行ってくださいませー。
この記事は、Googleスプレッドシートベースで解説記事を作成してますが、エクセルでも同様に使用することができる関数です。

こんにちは。当ブログの管理人の『くろん』です。
30代サラリーマン、新規事業推進室に所属。新卒ブラック企業努め時代に身に着けた業務効率化ノウハウをアウトプットしていきます。
読んでくれた方の業務が一秒でも早く終わりますようにの精神で記事書いてます!!
MID関数とは
『MID関数』は、文字列の真ん中部分から、指定の文字数抽出することができる関数です。
MID関数の構文
MID(文字列, 開始位置, セグメントの長さ)
項目 | 内容 |
文字列 | 加工したい文字列を指定します。セル指定もしくは、関数に直接文字列を記入します。 |
開始位置 | 取り出したい文字列の開始位置を文字列の先頭から何文字目かを指定。文字列の最初の文字の場合は 1 を指定する。 |
セグメントの長さ | 取り出したい文字列の長さを指定。 |
MID関数を実際に使ってみた

=mid(A2,B2,C2)
『MID関数』はこのように、文字列の途中部分から、文字列を抽出することができる関数です。
抽出開始場所(第2引数)の部分を、『1』とすると文字列頭からの抽出となり、『LEFT関数』と同じことができるようになります。

製造番号(英数字4桁)+製造年月(半角数字6桁)+製造所(英数字2桁)のような、固定長の品番から、製造年月を抽出したいときには、『MID関数』が便利です。
文字列の長さに応じた処理(例:文字の先頭と末尾のみ削除して抽出する)

=mid(A2,2,LEN(A2)-2)
文字の先頭と末尾のみを削除したい場合は、文字列の長さを返してくれる『LEN関数』と絡めて『MID関数』を用いると良いです。
先頭の文字を省きたいので、開始位置を2文字目『2』と指定。
抽出文字数は、元々の文字数から先頭と文字列末の2文字を除きたいので、『2』マイナスした値を設定することで、文字の先頭と末尾のみを削除した文字列を抽出できます。

MID関数に関するエラー

『MID関数』に関するエラーをいくつか紹介します。
まずはじめは、元の文字列よりも抽出開始の場所が大きい場合、抽出後の文字列は『』(空白)になります。
エラー表示ではないんですね。ちょっと注意が必要かもしれません。
次に、抽出開始場所を『0』とした場合、『#NUM!』エラーとなります。
最後に、文字数をマイナス値とした場合は、『#VALUE!』エラーとなります。ちなみに、抽出文字数を『0』とした場合は、『』(空白)になります。
エラーがでてしまった場合は、おちついて、開始位置の指定は問題ないか、抽出文字数は問題ないかを確認してみてください。
MID関数まとめ
『MID関数』は文字列の開始位置と抽出文字数を設定することで、真ん中部分を抽出することができる関数です。
『LEN関数』と組み合わせることで、元々の文字列に応じた抽出文字数を設定できるなど、活用の幅が広がります。