Excel関数 逆引き集 | 中央の文字抽出 → MID

Excel
スポンサーリンク

概要

「真ん中あたりの3文字だけ欲しい」
「コードの2〜4文字目を抜き出したい」
「郵便番号の“中央の3桁”だけほしい」

こういう「中央の一部だけ抜き出す」場面で使うのが MID 関数です。
LEFT が「左から」、RIGHT が「右から」なのに対して、MID は

「何文字目から」「何文字分」

という指定で、好きな場所を切り出せる関数です。


MID 関数の基本

MID の書式は次のとおりです。

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

文字列
… 文字を抜き出したい元データ(セル参照でも、”ABC123″ のような直接指定でもOK)

開始位置
… 「左から数えて何文字目から始めるか」を指定します。
1 が「一番左の文字」です。

文字数
… そこから「何文字分」取り出すかを指定します。

たとえば、

=MID("ABC123", 2, 3)

なら、「2文字目から3文字分」なので「BC1」が返ってきます。


基本的な使い方

中央の「n文字」を取り出す

A2 に「ABC123」という文字列があるとします。
このうち、「2文字目から3文字」を抜き出したい場合は次のように書きます。

=MID(A2, 2, 3)

結果は「BC1」になります。

開始位置を変えれば、欲しい位置から取り出せます。

=MID(A2, 4, 2)

なら、「4文字目(1→A,2→B,3→C,4→1)から2文字」なので「12」が返ります。


実務でよくあるパターン

郵便番号の「中央3桁」を抜き出す

A2 に「123-4567」という“文字列”が入っているとします。
この真ん中の「456」だけ取り出したい場合。

「123-4567」は
1:1
2:2
3:3
4:-
5:4
6:5
7:6
8:7

なので、「5文字目から3文字」を取り出せばOKです。

=MID(A2, 5, 3)

結果は「456」になります。


コードの「2〜4文字目」を抜き出す

A2 に「ABCD-001」のようなコードがあって、
2〜4文字目「BCD」だけ欲しい場合。

開始位置が 2、文字数が 3 なので、こう書きます。

=MID(A2, 2, 3)

結果は「BCD」となります。


固定フォーマットの「真ん中のブロック」を抜き出す

例えば、「AA-1234-BB」というフォーマットのコードが A2 にあり、
中央の数字ブロック「1234」だけを取り出したいとします。

「AA-1234-BB」は
1:A
2:A
3:-
4:1
5:2
6:3
7:4
8:-
9:B
10:B

なので、「4文字目から4文字」を抜き出せばOKです。

=MID(A2, 4, 4)

結果は「1234」となります。


MID の応用テクニック

LEN と組み合わせて「末尾から数えて n 番目から m 文字」を取る

MID は「左から何文字目」を指定するので、
「右から数えて ◯文字目から取りたい」場合は、LEN で長さを使って開始位置を計算します。

例えば、A2 の文字列の「末尾から3文字目から2文字」を取りたいとします。

全体の長さを LEN(A2) とすると、
末尾から3文字目は「LEN(A2)-2」番目になります。

=MID(A2, LEN(A2)-2, 2)

A2 が「ABCDEFG」なら
文字数7、7−2=5 なので、5文字目から2文字 → 「FG」が取れます。

(このあたりは少し応用編なので、「開始位置が決まっているパターン」を先にしっかり押さえるのがおすすめです)


FIND と組み合わせて「区切り文字の後ろ」を取る

「ハイフンの直後から3文字」
「@ の後ろ全部」
のように、「区切り記号の位置」を基準に抜き出したいことも多いです。

例えば、A2 に「ABC-123」が入っていて、
ハイフン「-」の直後から3文字「123」を取りたい場合。

まず、FIND("-", A2) でハイフンの位置を求めます。
その 1 つ後ろから取りたいので、開始位置は FIND("-",A2)+1 です。

=MID(A2, FIND("-", A2)+1, 3)

ハイフンの位置が変わっても、「ハイフンの後ろ3文字」が取れるようになります。


LEFT / RIGHT / MID の使い分け

LEFT
… 左から n 文字(先頭側の固定桁)

RIGHT
… 右から n 文字(末尾側の固定桁)

MID
… 「何文字目から」「何文字分」(中央・途中の位置)

「先頭固定なら LEFT」「末尾固定なら RIGHT」
「真ん中や途中なら MID」というイメージで使い分けると整理しやすくなります。


例題

問題1

A2 に「ABC123」という文字列が入っています。
「2文字目から3文字」を取り出す式を書いてください。
結果は「BC1」になるようにします。

=MID(A2, 2, 3)

問題2

A2 に「123-4567」という文字列が入っています。
郵便番号の中央3桁「456」を取り出したいです。
MID を使った式を書いてください。

=MID(A2, 5, 3)

問題3

A2 に「AA-1234-BB」という文字列が入っています。
中央の数字4桁「1234」を取り出したいです。
MID を使った式を書いてください。

=MID(A2, 4, 4)

問題4

A2 に「ABC-123」が入っています。
ハイフン「-」の直後から3文字「123」を取り出したいです。
FIND と MID を組み合わせた式を書いてください。

=MID(A2, FIND("-", A2)+1, 3)

問題5

A2 に任意の文字列が入っています。
「末尾から3文字目から2文字」を取り出したいです。
LEN と MID を組み合わせた式を書いてください。

=MID(A2, LEN(A2)-2, 2)

MID は「開始位置」と「文字数」を指定できるぶん、
LEFT / RIGHT よりも自由度が高い関数です。
まずは「開始位置が決まっているパターン」から慣れて、
次に FIND / LEN を使った「柔軟な位置指定」に広げていくと、
コード分解や文字列加工が一気に楽になります。

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