ひろふみのエクセル知恵袋
脱初心者で
豊かな『生活』の時間と 『仕事』のゆとり
★Excelが苦手な方は、以下の順番で学習していただけましたらと思います。
【0からの学習編 ~セル理解編~ 計算式理解編~ 現場の実務編~】
現場の実務編

【現場の実務編47】住所から市名、区名、下位住所で分けて表示したい!(MID&LEFT&LEN&RIGHT&FIND&IFERROR関数)

Sponsored Links

・住所から、市名、区名、下位住所に分けて表示する方法

・MID&LEFT&LEN&RIGHT&FIND&IFERROR関数の使い方

練習用サンプルデータ(ダウンロード)
※シートは練習用と成果物(解答)の2種類あります。閲覧したい方はダウンロードして下さい。

住所データから、都道府県を抽出する手順を前回ご紹介いたしました。そこで今回は、

都道府県は抽出できるが、市名、区名、下位住所で別々に分けたデータを作りたい!そういった場合はどのようにすればよいかについて、解説したいと思います。

‘市名を出すにはどのような方法で進めるかですが

まず、大まかな手順の概要を先に説明します。

‘1)市の文字の開始位置を、LEN関数を用いて調べます。

‘2)市の文字数をLEN、FIND関数を使って調べます。

‘3)市名を、MID関数を使って取りだします。

’4)市名がない都道府県の場合は、空白表示。

‘区名を出すにはどのような方法で進めるかですが

‘まず、大まかな手順の概要を先に説明します。

‘1)区の文字の開始位置を、LEN関数を用いて調べます。

‘2)区の文字数をLEN、FIND関数を使って調べます。

‘3)区名を、MID関数を使って取りだします。

’4)区名がない都道府県の場合は、空白表示。

‘下位住所を出すにはどのような方法で進めるかですが

‘まず、大まかな手順の概要を先に説明します。

‘1)まず下位住所の文字数を調べます。

計算式は、

「住所の文字列の長さ」-「都道府県の文字列の長さ」-「市の文字列の長さ」-「区の文字

列の長さ」となります。

‘2)下位住所を、RIGHT関数を使って取り出します。

(練習で実施する「市名、区名と下位住所を求める」の完成図)

 ※beforeの状態を、afterの状態まで仕上げる過程を説明します。

 練習サンプルデータは、ダウンロードファイルのシート「練習用」となります。

 例題は、B列の住所情報と、C列の都道府県の情報をもとに、D列に市名、E列に区名、F列に下位住所を表示させる問題です。

 ※都道府県の抽出は、前回の【現場の実務編46】で解説しています。

【現場の実務編46】住所を都道府県と下位住所で分けて表示したい!(IF&LEFT&MID&SUBSTITUTE関数) ・住所を都道府県と下位住所に分けて表示する方法 ・IF&LEFT&MID&SUBSTITUTE関数の使い方 練習用サ...

‘【1】利用する関数の公式
(MID、LEFT、LEN、RIGHT、FIND、IFERROR関数)

●MID関数

指定したセルの左から〇番目の〇文字分を切り出して表示したい時に使う関数です。

●LEFT関数

指定したセルの左から数えて〇文字切り出して表示したい時に使う関数です。

●LEN関数

指定したセルの文字数を調べる関数です。

●RIGTH関数

指定したセルの右から数えて〇文字切り出して表示したい時に使う関数です。

●FIND関数

対象のセルから、探したい文字が何文字目にあるかを調べる関数です。

●IFERROR関数

数式がエラーとなった場合に、表示する値を指定できます。

‘【2】関数の活用編

サンプルデータは、シート「練習用」を使って解説します。

‘【3】市名の取り出し方

‘(1)まずはD4の市名を抽出します。

‘①セルD4を選択し数式「=IFERROR(MID(B4,LEN(C4)+1,FIND(“市”,B4)-LEN(C4)),””)」を入力してください。すると、札幌市が表示されます。

‘(①の数式解説)

 ●MID関数を用いた全体数式の解説

 ‘(さらに分解して解説すると)

●MID関数の中身にある最初のLEN関数

  ここで調べているのは、「都道府県の次の文字」が何番目にあるかを調べています。

  そこが、「市名」の開始位置になります。

 ●MID関数の中身にあるFIND関数

 ここで調べているのは、市名の文字数が何文字あるかを計算しています。 

●MID関数(上記の数式をMID関数に当てはめる)

 MID関数で、市名の開始位置から、市名の文字数分取り出して、市名を表示させます。

●IFERROR関数

「市名」がない場合は、エラー表示となるので、MID関数の数式をIFERROR関数の中に入れ、「市名」がない時は空白表示させましょう。

‘(2)他のセルへも(1)で作成した数式を反映する

作成した数式をコピーし、他のセルにも貼付けて反映させましょう。

‘①セルD4をコピーします。

※コピー:CTRLキー+Cキー

‘②セルD5からセルD10まで範囲選択し、貼付けます。

※貼付け:CTRLキー+Vキー

‘【4】区名の取り出し方

まずはセルE4の区名を取り出します。

‘①セルE4を選択し

数式「=IFERROR(MID(B4,LEN(C4)+LEN(D4)+1,FIND(“区”,B4)-LEN(C4)-LEN(D4)),””)」を入力してください。すると、中央区が表示されます。

‘(①の数式解説)

 ●MID関数を用いた全体数式の解説

‘(さらに分解して解説すると)

●MID関数の中身にある最初のLEN関数

  ここで調べているのは、「市の文字数と区の文字数の次の文字が何番目にあるか」を調

べます。そこが、「区名」の開始位置になります。

●MID関数の中身にあるFIND関数   ここで調べているのは、区名の文字数が何文字あるかを計算しています。

●MID関数(上記の数式をMID関数に当てはめる)

MID関数で、区名の開始位置から、区名の文字数分取り出して、区名を表示させます。

●IFERROR関数

「区名」がない場合は、エラー表示となるので、MID関数の数式をIFERROR関数の中に入れ、「区名」がない時は空白表示させましょう。

‘(2)他のセルへも(1)で作成した数式を反映する

作成した数式をコピーし、他のセルにも貼付けて反映させましょう。

‘①セルE4をコピーします。

※コピー:CTRLキー+Cキー

‘②セルE5からセルE10まで範囲選択し、貼付けます。

※貼付け:CTRLキー+Vキー

‘【3】市名の取り出し方

‘(1)まずはF4の下位住所を抽出します。

‘①セルF4を選択し

数式「=RIGHT(B4,LEN(B4)-LEN(C4)-LEN(D4)-LEN(E4))」を入力してください。
すると、「北3条西6丁目」が表示されます。

‘(①の数式解説)

 ●MID関数を用いた全体数式の解説

 ‘(さらに分解して解説すると)

●RIGHT関数の中身にある最初のLEN関数

  ここで調べているのは、「下位住所の文字数」を調べています。

 下位住所の文字数=

全体の住所の文字数―都道府県の文字数―市名の文字数―区名の文字数

●MID関数の中身にあるRIGHT関数

 ここでは、下位住所の文字数分を右から取り出す計算をしています。 

‘(2)他のセルへも(1)で作成した数式を反映する

作成した数式をコピーし、他のセルにも貼付けて反映させましょう。

‘①セルF4をコピーします。

※コピー:CTRLキー+Cキー

‘②セルF5からセルF10まで範囲選択し、貼付けます。

※貼付け:CTRLキー+Vキー

【3】まとめ

・都道府県に続いて、市名、区名、下位住所を取り出すコツは、文字数をどのようにして

調べるかが、ポイントになります。

・複数の関数を組みあわせる為、ややこしく感じかもしれませんが、そういった時は、

数式を分解して考えていくと整理がしやすいかと思います。

Sponsored Links