塾長!いつも当社のコーヒーをご愛用いただきありがとうございます。塾長のおかげで新入社員も順調に関数を利用できるようになっております。
さて、実は一つ困ったことがありまして……。本社から顧客住所データの一覧が送られてくるので、事務所で利用しやすいように区とそれ以降の住所を分けたいのですが、今まで教えていただいた関数ではできないようなのです。塾長のお知恵を拝借できませんでしょうか?
わしが、エクセル関数塾塾長!関 数之進(せきかずのしん)である!
おぉ、店長!いつもおいしいコーヒーをありがとう。頭も冴えてますます関数塾が充実しそうじゃ。
さて、元の表を見せてごらん?ほぉ、この表だと今まで紹介したLEFT / RIGHT関数だけでは力不足じゃな。このような表なら「MID関数」を使って、セルの途中から文字を取り出せるぞ。その技を極意書を使って説明しよう!
MID(ミッド)関数を利用すると、セルに入力されている文字の途中から任意の数の文字を取り出すことができます。LEFT関数やRIGHT関数はセルの左や右から任意の文字数を取り出すときに便利ですが、例えば住所には長短があるため、途中から文字を取り出すときはセルの右端や左端から文字数を指定しても正しく取り出せない場合があります。そこでMID関数を利用し、取り出す文字の開始位置を指定すると、開始位置から指定した文字数をセルに表示させることができます。
ここでは、MID関数の基本的な書式と機能について紹介します。
MID関数は次のように入力します。
=MID(文字列,開始位置,文字数)
引数は3つの引数を指定します。まず「文字列」にはMID関数で取り出したい元の文字やセル番号を指定します。「開始位置」は取り出したい文字の開始位置を数字で指定します。また、「文字数」には文字列から抜き出す文字の数を指定します。全角半角の区別はなく、どちらも1文字とカウントします。
MID関数はセルに入力されている文字列の指定した位置から文字を取り出すことができる関数です。MID関数は、[関数の挿入]ボタンをクリックして[関数の分類]で「文字列」を選択すると、関数が簡単に入力できます。 また、Excel2007、Excel2010、Excel2013では関数ライブラリの[文字列操作]からも選択できます。
今回の例では、C列に住所が入力されています。D列はLEFT関数で区名が取り出されています。ここではE列に住所から区名を除いた3文字目以降の文字列を取り出します。また、文字数は100文字以下なので「99」と指定してみましょう。
MID関数は指定した位置からの文字を抜き出すことができますが、例えば住所のデータから「区」の後の町域を取り出したいときに、区の名前が「港区」「葛飾区」「千代田区」などのように文字数が一定でない場合があります。
このようなときは、文字数の列を作成し、そこに文字数を入力することで、LEFT関数やMID関数で取り出す文字の長さや開始位置の変数として利用できます。
次の例のように区名の長さが変わるような場合、住所から取り出す区名の長さも町域の開始位置も変わります。文字数に区名の文字列の長さを入力すると、区名とそれに1文字加えた開始位置から町域を取り出すようにMID関数で式を入力してみましょう。
MID関数は、セルに入力されている文字列の途中から指定した文字数を取り出せる関数です。LEFT関数やRIGHT関数などの文字列関数と共に、セルの文字を自由に取り出すことができるようにすると、データがより有効活用できるようになります。
次のような住所一覧の表を作成してみましょう。
次の表は、住所の一覧です。住所から市区と町域を分けてセルに表示させます。
問題に必要なエクセルのファイルをダウンロードしてください。
ダウンロードするには、下記のファイル名を右クリックして、メニューから「対象をファイルに保存」を選択してください。
本講座では、ファイルの保存先を《ドキュメント》としています。
ダウンロード方法がわからない場合は、下記ページをご参照ください。