Excelを勉強しましょう EnjoyExcel

アイコンの機能や関数の説明、VBA初心者向けの勉強方法について情報掲載しています。関数、VBAともに理解が進むように出来るだけ事例を交えて説明しています。

関数の組み合わせ かっこの中の文字だけ抽出したい

f:id:EnjoyExcel:20210628231229p:plain

関数の組み合わせ かっこの中の文字だけ抽出したい

 

質問いただきました

1つのセルに入力された文字の中で「かっこの中にある文字だけ欲しいんだけど・・・」という依頼をいただきました。

 

関数を組み合わせる事で欲しい文字列だけ取り出す事が出来ます。一緒に考えていきましょう。

質問の詳細

かっこ、カッコ、括弧()・・・色々ありますよね。「」を想像された方も居るかもしれません。まずは形式や書式を定義してみようと思います。

 

  • 今回は 解説する文字については かっこ を使用します。
  • 数式に出てくる記号は半角の()を使用します。

 

質問いただいた方に具体的に内容を聞いてみると文字の前方に固有情報が居て後ろのかっこ内に国名が居るというようなデータでした。 

 

  1. JAPAN や THAILAND 等かっこの中の文字数は一定でない。
  2. かっこの前にくる固有情報も文字数が決まっているわけではない。

 

例ですが  113454(JAPAN) のような感じです。

 

・・・というわけでどこにかっこの位置が番号で指定されているわけではなくどこで始まってどこで終わるのか?抽出する文字数は決まってない等決まってないものだらけなわけです。

 

ユーザーからすると「コントロール出来ない要素だからダメでしょ」と思いがちですしかしやれる方法は何点かあると思っています。出来るだけたくさんの人が出来る様にという事を考え関数を選択しました。操作含め紹介していきます。

回答を用意しました

結論から申し上げますと文字列の取り出しは可能です。関数を2つ使わせていただきます。使う関数はこの2つです。

 

  1. FIND(索文字列,対象,開始位置)
  2. MID(文字列,開始位置,文字数)

 

OKでしょうか?聞いたことある方も居るのではないでしょうか。「ですよね」と思った方も一旦説明を読んでみてください。問題や関数に対する考え方も書いてあるので部分的には参考になると思います。

 

どんな仕事も同じですがいきなり回答を出すのは難しいのでどうやったら答えにたどり着くか言葉で書いてみます。そうすると必要な関数が見えてきます。

 

今回は「かっこの位置を探して間の文字を取り出す」という行為が出来れば作業完了ですので「かっこの位置を探す」と「特定文字の間の文字を取り出す」という事が出来る関数は無いか探してみます。

 

そうすると以下2つの関数が使えそうな気がしてきます。

 

FIND は指定した文字の位置を調べる関数です。

MID は指定した文字位置から指定した文字数を抜き出す関数です。

 

基本的に関数含めExcelの機能はざっくり覚えて何かあったときに「確かこんなのあったな??」って思い出して調べるぐらいでちょうどよいと思います。

 

最初からVBAまでやると覚える事多すぎてパンクするのでほどほどで良いです。私も良く使う機能、関数、コード以外は都度調べて使っている次第です。

早速実行してみましょう

まずは結果から表示させておきます。

 

まずセルB3の文字からセルC3へ先頭のかっこの文字位置をとる関数を記入します。

 

=FIND("(",B3,1) となるわけですがこの関数は・・・

 

  1. 検索文字
  2. 対象
  3. 開始位置

 

を引数にとります。

 

第1引数の "(" ですがかっこをダブルクォーテーションで囲んでいます。

これは文字列はダブルクォーテーションで囲むというエクセル上の決まりですので必要なものだと思って暗記してください。

 

第2引数の対象はそのままですね。B3の文字列が対象なのでB3と記入。

 

第3引数はどこから数えますか?という事ですので先頭の1からですね。

 

そうすると 7 という数字が出てきます。

 

同じように後ろのかっこの位置をセルD3に表示させます。

 

やってることは同じです。第1引数を ")" に変えただけ。

 

後ろのかっこの位置は13です。

 

最後にセルE3にかっこ内の文字を取り出す関数を入力します。MID関数の引数は3つです。

 

  1. 文字列(検索文字)
  2. 開始位置
  3. 文字数

 

まずは第1引数。検索対象の文字列なのでセルB3です。

 

第2引数は開始位置。先頭のかっこの位置は分かっているのでその1つ後から開始ということになりますからセルC3+1で7+1 = 8 となり開始位置は8 になります。

 

第3引数は文字数です。開始位置から閉じる方のかっこの位置の1つ前までが欲しいのでセルD3の値-セルC3の値 をやった後最後に閉じるかっこの1つ前までなので-1を行う事でかっこ内の文字数が計算されます。

 

ちょっとわかりにくいので紙に書いて実際の文字を数えてみると分かるかもしれません。これでセルE3に JAPAN という文字だけ抜き取ることが出来ます。

 

この方法ならB列にセルB3と同じような情報が並んでいてもC、D、E列の関数を展開するだけでかっこ内の文字が取り出せます。

 

今回紹介した関数含めやりたい事を一度紙に書き出して必要な関数を調べるという方法は頭の中を整理するのにすごく良い方法です。試してみてください。

お知らせです(おすすめ情報へのリンク有)

Excel関数は独学でも十分勉強出来ます。関数については知識の定着を目指す中で書籍が有効なツールの一つだと思っています。

 

私は習得したい知識についてはネットで色々調べますが最終的は書籍を購入しています。主観ですが読みながら実際に操作をする事で知識の定着率が高まります。書籍はおすすめコンテンツの中の1つだと思っています。

書籍の選び方や読み方についても解説しています。良かったらご活用ください。

Excel初心者の方向け本の選び方と読み方について解説します

 

最後に私が用意しております全ての記事へのリンクです。

目次 - Excelを勉強しましょう

 

少しでも皆様の勉強の助けになれば幸いです。失礼します。