概要
「商品A(赤)」「山田太郎(営業部)」みたいに、
セルの中の “括弧の中だけ” を取り出したくなる場面、よくあります。
このときの王道パターンが
MID(部分切り出し)+FIND(位置を探す) で
- 「( がどこにあるか」
- 「 ) がどこにあるか」
- 「その間を何文字分切ればいいか」
を計算して抜き出す方法です。
仕組みさえ理解すれば、どんな括弧パターンにも応用できます。
基本の考え方(MID と FIND の役割)
MID の役割
MID は「文字列の途中から、何文字か取り出す」関数です。
=MID(文字列, 開始位置, 文字数)
- 開始位置:何文字目から取るか
- 文字数:そこから何文字取るか
例:A2 に「商品A(赤)」が入っているとき
=MID(A2, 4, 2)
→ 4文字目から 2文字 → 「赤」
この「開始位置」と「文字数」を、括弧の位置から自動計算してあげればいい、という発想です。
FIND の役割
FIND は「指定した文字が、左から何文字目にあるか」を教えてくれます。
=FIND(検索文字列, 対象文字列)
例:A2 に「商品A(赤)」が入っているとき
=FIND("(", A2)
→ 「(」がどこにあるか(位置)を返す
=FIND(")", A2)
→ 「)」の位置を返す
あとは、
「開始位置=“( の次の文字”」
「文字数=“)までの距離 − 1”」
と決めてあげれば、括弧の中だけ切り出せます。
括弧内文字抽出の基本形(丸括弧)
一番よく使う型
A2 に「商品A(赤)」が入っているとします。
この「(」と「)」の間の「赤」だけ取り出したい場合。
定番の式はこれです。
=MID(
A2,
FIND("(", A2) + 1,
FIND(")", A2) - FIND("(", A2) - 1
)
1行にすると:
=MID(A2, FIND("(", A2)+1, FIND(")", A2)-FIND("(", A2)-1)
中身をかみ砕くと
- 開始位置:
FIND("(", A2)+1
「(」の直後の文字が、括弧内の先頭 - 文字数:
FIND(")", A2) - FIND("(", A2) - 1
「)の位置 − (の位置 − 1」=括弧の中の文字数
これで、日本語の全角括弧「( )」の間だけ、きれいに抜き出せます。
半角括弧「()」の場合
データによっては、半角括弧「()」を使っていることも多いです。
この場合も考え方は同じで、FIND の検索文字だけ変えればOKです。
A2:「山田太郎(営業部)」
括弧内「営業部」を取りたい式:
=MID(
A2,
FIND("(", A2) + 1,
FIND(")", A2) - FIND("(", A2) - 1
)
1行版:
=MID(A2, FIND("(", A2)+1, FIND(")", A2)-FIND("(", A2)-1)
全角か半角か、
実際にセル内の括弧をコピーして貼り付けるとミスが減ります。
応用:異なる種類の括弧にも対応
角括弧「【 】」や波括弧「〔 〕」も同じ発想
たとえば A2 に
「商品B【青】」
「商品C〔特価品〕」
のような文字列がある場合も、
「どの文字で挟まれているか」さえ分かれば、同じ型で対応できます。
例:A2:「商品B【青】」から「青」を取り出す
=MID(
A2,
FIND("【", A2) + 1,
FIND("】", A2) - FIND("【", A2) - 1
)
例:A2:「商品C〔特価品〕」から「特価品」を取り出す
=MID(
A2,
FIND("〔", A2) + 1,
FIND("〕", A2) - FIND("〔", A2) - 1
)
ポイントは「開始位置」「終端位置」を
それぞれの括弧で FIND しているだけ、ということです。
応用:括弧がないときのエラー対策(簡易)
FIND は、文字が見つからないとエラーになります。
「括弧がない行も混ざっている」表の場合、そのままだと #VALUE! エラーが出ます。
簡易的な防ぎ方として、IFERROR を組み合わせる方法があります。
A2:「商品名(赤)」か「商品名」のどちらかが入る想定で、
括弧があれば中身、なければ空白を返したい場合。
=IFERROR(
MID(A2, FIND("(", A2)+1, FIND(")", A2)-FIND("(", A2)-1),
""
)
括弧がない行では FIND がエラー → IFERROR で “” を返す、という動きです。
まずは「括弧が必ずあるパターン」で慣れてから、必要に応じて足すと理解しやすいです。
例題
問題1
A2 に「商品A(赤)」という文字列が入っています。
この中から括弧「( )」の中だけを取り出して「赤」と表示したいです。
MID と FIND を組み合わせた式を書いてください。
=MID(A2, FIND("(", A2)+1, FIND(")", A2)-FIND("(", A2)-1)
問題2
A2 に「山田太郎(営業部)」という文字列が入っています。
この中から括弧「( )」の中身だけを取り出して「営業部」と表示する式を書いてください。
=MID(A2, FIND("(", A2)+1, FIND(")", A2)-FIND("(", A2)-1)
問題3
A2 に「商品B【青】」という文字列が入っています。
この中から「【 】」の中身だけを取り出して「青」と表示する式を書いてください。
=MID(A2, FIND("【", A2)+1, FIND("】", A2)-FIND("【", A2)-1)
問題4
A2 に「商品C(特価品)」または「商品C」のどちらかが入っています。
括弧がある場合は中身だけ(「特価品」)、括弧がない場合は空白 “” を返したいです。
MID・FIND・IFERROR を組み合わせた式を書いてください。
=IFERROR(MID(A2, FIND("(", A2)+1, FIND(")", A2)-FIND("(", A2)-1), "")
問題5
A2 に「山田太郎(営業部)」という文字列が入っています。
この中で、「(」の位置(何文字目か)と、「)」の位置(何文字目か)を求める式をそれぞれ1つずつ書いてください。
=FIND("(", A2)
=FIND(")", A2)
括弧内抽出の“型”は、たったこれだけです。
=MID(
文字列,
FIND("開き括弧", 文字列)+1,
FIND("閉じ括弧", 文字列) - FIND("開き括弧", 文字列) - 1
)
この型さえ体で覚えてしまえば、
丸括弧でも角括弧でも、タグっぽい記号でも、
「何かで挟まれた中身だけ欲しい」という場面に、いくらでも応用できます。
