Excel関数 逆引き集 | 固定長で分割 → MID

Excel
スポンサーリンク

概要

「コードの1〜3文字目は“区分”、4〜7文字目は“番号”」
「社員番号の 1 桁目は部署、2〜3 桁目は職種」
「固定長の文字列を、決まった桁数ごとに切り分けたい」

こういう “固定長での分割” に最適なのが MID 関数です。
MID は「何文字目から」「何文字分」を抜き出せるため、
固定フォーマットのコード分解に非常に強い関数です。


MID 関数の基本

MID の書式

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

開始位置
左から数えて「何文字目から」取り出すか。1 が先頭。

文字数
そこから「何文字分」取り出すか。

固定長の分割では、
「開始位置」と「文字数」が決まっているため、
MID が最もシンプルに使えます。


基本パターン:固定長コードを分割する

例:A2 に「ABC123456」が入っている場合

  • 1〜3 文字目 → 区分
  • 4〜6 文字目 → 中分類
  • 7〜9 文字目 → 枝番

というように分けたいとします。

区分(1〜3 文字目):

=MID(A2, 1, 3)

中分類(4〜6 文字目):

=MID(A2, 4, 3)

枝番(7〜9 文字目):

=MID(A2, 7, 3)

このように、開始位置と文字数が決まっていれば、
MID だけで簡単に分割できます。


実務でよくある固定長分割パターン

郵便番号(7 桁)を「3 桁+4 桁」に分割

A2 に「1234567」が入っているとします。

前半(1〜3 桁):

=MID(A2, 1, 3)

後半(4〜7 桁):

=MID(A2, 4, 4)

社員番号の構造が「部署1桁+職種2桁+個人番号4桁」の場合

A2 に「A011234」が入っているとします。

部署(1 桁目):

=MID(A2, 1, 1)

職種(2〜3 桁目):

=MID(A2, 2, 2)

個人番号(4〜7 桁目):

=MID(A2, 4, 4)

商品コード「AA-BBB-CCCC」を固定長として扱う

もしハイフンを除いた文字列(例:「AABBBCCCC」)が A2 に入っているなら、

  • 1〜2 文字目:カテゴリ
  • 3〜5 文字目:中分類
  • 6〜9 文字目:商品番号

カテゴリ:

=MID(A2, 1, 2)

中分類:

=MID(A2, 3, 3)

商品番号:

=MID(A2, 6, 4)

応用:LEN と組み合わせて「末尾から固定長を取る」

固定長の「末尾 n 文字」を取りたい場合、
RIGHT でもできますが、MID+LEN でも書けます。

例:A2 の末尾 4 文字を取りたい場合

=MID(A2, LEN(A2)-3, 4)

開始位置を「全体の長さ − (取りたい文字数 − 1)」で計算する方法です。


応用:固定長の複数項目を一気に抽出する

TEXTSPLIT のように自動分割はできませんが、
MID を複数並べることで「固定長の表」を作れます。

例:A2 に「ABC123456」が入っていて、
B2〜D2 に区分・中分類・枝番を並べたい場合。

B2:

=MID(A2, 1, 3)

C2:

=MID(A2, 4, 3)

D2:

=MID(A2, 7, 3)

このように「開始位置をずらしていく」だけで、
固定長の分割が自在にできます。


例題

問題1

A2 に「ABC123456」という文字列が入っています。
1〜3 文字目(「ABC」)を取り出す式を書いてください。

=MID(A2, 1, 3)

問題2

A2 に「ABC123456」が入っています。
4〜6 文字目(「123」)を取り出す式を書いてください。

=MID(A2, 4, 3)

問題3

A2 に「1234567」という郵便番号が入っています。
後半の 4 桁(「4567」)を取り出す式を書いてください。

=MID(A2, 4, 4)

問題4

A2 に「A011234」という社員番号が入っています。
職種コード(2〜3 桁目)を取り出す式を書いてください。

=MID(A2, 2, 2)

問題5

A2 に任意の文字列が入っています。
その末尾 4 文字を MID と LEN を使って取り出す式を書いてください。

=MID(A2, LEN(A2)-3, 4)

固定長の分割は、MID の「開始位置」と「文字数」を決めるだけ。
このシンプルな仕組みを理解すると、
コード分解・社員番号解析・郵便番号処理など、
実務で頻出する“固定フォーマットの文字列処理”が一気に楽になります。

Excel
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました