エクセルで住所分割|都道府県・市区町村・町名番地に分ける方法(サンプルExcelダウンロード可能)

エクセルでお客様の住所を管理していることは多いと思いますが、一口に住所といっても管理方法は次の2つに大きく分けられると思います。

住所管理方法の2大分類

  1. 住所は1セル内に全て登録
  2. 都道府県、市区町村、町名・番地でセルを分けて登録

つまり、

都道府県、市区町村、町名・番地で分けるか分けないか

が、住所の管理における2大分類となります。どちらで管理しているでしょうか?

どちらの管理も一長一短ではありますが、住所を分析に使っていくとなると、都道府県、市区町村、町名・番地で分けて管理したほうが良いですね。分けておくことで、

  • 都道府県別でみるとどこが多いのか
  • 市区町村別でみるとどこの比率が多いのか

といった分析ができるようになります。

とはいえ、はじめから「住所を分析に使っていこう!」という意思を持って都道府県、市区町村、町名・番地で分けて住所管理していくケースはかなり稀で、大抵は住所という項目を1つ用意してそこに住所を登録していき、後々になって住所を分けていきたいということが発生します。

この時に問題になるのが、住所の分割です。単純に住所を分割できるなら簡単な話なのですが、思った以上に住所の分割には時間がかかる・・・。

そこで今回は、都道府県、市区町村、町名・番地がつながっている住所を、 都道府県、市区町村、町名・番地 に分割する方法を、サンプルファイルを例にご紹介していきます。

サンプルファイルにフル住所を入れれば分割することができますので、お急ぎの場合はまずファイルをダウンロードして使ってみてください。エクセル関数や考え方も理解して別の用途でも使えるようにしたい場合は、サンプルがどのような構成になっているのか、解説を参考にしてみてください。

住所分割用Excelサンプルファイル

とにかく使いたいという方はこちらからダウンロードをしてください。ファイルを開くとパスワードを求められます。パスワードはkeizokumaです。

ファイルをダウンロードすると2つのシートが入っています。「使い方」シートの説明を見て本サンプルの使い方を確認したのち、「住所分割」シートを使用してください。

利用時の注意

本サンプルはフル住所を入れたらすぐに都道府県・市区町村・町名番地に分割してくれるツールではありません。最終的には分割された住所を算出することができますが、それまでの間に幾つか手作業でのデータ修正や確認が必要な点がありますので、ご注意ください。

住所分割用Excelサンプルファイルの解説

住所分割用Excelサンプルファイルは、次のような構成となっています。

住所分割用Excelサンプルファイルイメージ

C列に住所を入れると、最終的にG列に都道府県、P列に市区町村、Q列に町名・番地が算出できるようになっています。東京駅の住所(東京都千代田区丸の内1丁目)を入れた場合の最終的な分割後の形はこのようになります。

東京都 千代田区 丸の内1丁目 と3つに分割できましたね。

先述した通り、このサンプルはC列に住所を入れればすぐに都道府県・市区町村・町名番地に分割してくれるわけではありません。次の手順に沿って操作をしていく必要があります。

フル住所をC列に設定

まず、C列に住所文字列を設定します。ここでは、次のポイントに注意します。

住所文字列の設定時の注意点

  1. 都道府県を含めること
    (市区町村から始まる住所文字列としない)
  2. 不要な半角・全角スペースは除去しておく
    (番地と建物名の間のスペースなどはOK)

上記の2は最低チェックしたうえで文字を設定します。1については次に説明する方法でチェック可能です。

D列の都道府県の存在チェックを確認

C列に住所を設定したら、D列でフィルタをかけて「★なし★」となっているデータを確認します。「★なし★」と表示されている場合、C列の住所文字列に都道府県が入っていません。

例えば次の3行目のデータでは、「東京都」という文字が入っていない住所となっています。そのため、D列は「★なし★」となっています。

住所に都道府県が含まれていない場合の例

このようなデータについてはC列の住所に都道府県を追加修正して、D列が全て「OK」となるようにしていきます。

なぜこのようなに「住所に都道府県が入っているか」のチェックをするかというと、元データの住所に都道府県を入れているケースと入れていないケースがあるためです。特に住所情報の管理を複数人で行っているような場合、住所入力ルールが統一されていないと都道府県ありとなしの両方のデータが混在することになります。

郵便番号があれば都道府県があろうがなかろうが住所としては問題ありませんが、住所を分割する処理においては必要なため、ここで全ての住所について「都道府県あり」の状態にデータを修正していきます。

D列の都道府県チェックの補足

D列ではこのような数式でチェックを行っています。(D2セルの場合)

=IF(OR(MID(C2,3,1)="県",MID(C2,3,1)="府",MID(C2,3,1)="都",MID(C2,3,1)="道",MID(C2,4,1)="県"),"OK",IF(C2="", "", "★なし★"))

IF関数、OR関数、MID関数を用いてC2列の住所文字列に対して判定を行っています。

具体的には、

  1. 住所の左から3文字目が県または府または都または道、または、住所の左から4文字目が県の場合、「OK」と表示する。
  2. 1に一致しない場合で住所が空欄なら、空文字を表示する。
  3. 1と2に当てはまらない場合「★なし★」を表示する。

ということをここで行っています。

O列の値をコピーしてP列に値として貼り付け

D列が全て「OK」となったことを確認したら、次にO列のデータをコピーしてP列に値として張り付けます。ここでのポイントは、

P列には値として張り付ける

ということです。

まず、O列の住所を範囲選択します。

O列の値を範囲選択

次に、右クリックからコピーを選択します。または範囲選択した状態でCtrl+cをしてコピーします。

範囲選択した部分をコピー

最後に、P列の先頭セル(P2セル)を右クリックし、値として貼り付けをします。

P列に値として貼り付け

P列は数式を設定していますので、値として張り付けないとおかしなデータとなってしまうため注意しましょう。

貼り付け後は次のようにO列とP列の値が同じようになります。

P列への値貼り付け後の状態

N列の要確認対象をチェック

P列に貼り付けをすると、N列にチェック結果が表示されますので、「要確認」となっているデータでフィルタをかけます。

この例では、千葉県市川市の市区町村が「市」となってるため、うまく分割できていないことが分かります。

市区町村がうまく分割できていない例

このような場合、P列の値を「市」から「市川市」に変更します。すると、Q列の値が市区町村以降の文字となるので、うまく分割がされました。

※N列の「要確認」の表示は、P列の値を変えてもそのまま表示されます。

市区町村チェックの補足

住所によっては計算式でうまく分割できないため、N列の数式では「計算式で分割した市区町村(O列)」に対してチェックを入れています。

※ここでは、うまく市区町村で分割されていないだろうと思われるものに対して「要確認」の表示しています。そのため、

  • うまく分割されているケースで「要確認」と表示される場合
  • 要確認だけれど「要確認」と表示されていない場合

があり得ます。(ここについては次の操作で説明します)

N列の数式(N2セルの場合)

=IF(OR(COUNTBLANK(I2:K2)<2,I2=1,J2=1,K2=1),"要確認","")

この数式では次の条件のいづれかに当てはまる場合に「要確認」と表示しています

  • I列~K列の中で空欄のセルが1つ以下
  • 「区」という文字の位置が1文字目
  • 「市」という文字の位置が1文字目
  • 「村」という文字の位置が1文字目

P列の市区町村の確認

N列が要確認となっているデータをすべてチェックしてP列の値を修正した後は、P列の値を一通り見て問題がありそうな住所が無いかを確認します。

先述した通り、N列では、うまく市区町村で分割されていないだろうと思われるものに対して「要確認」の表示していますので

  • うまく分割されているケースで「要確認」と表示される場合
  • 要確認だけれど「要確認」と表示されていない場合

があり得るためです。

P列の確認方法は、目視です。アナログですが、次のようにP1セルのフィルターを開き、1つ1つ確認をしていきます。

市区町村

なぜ目視なのかというと、前述の理由が主ではありますが、市区町村名そのものが間違っているというケースもあり得るからです。目視で一通りチェックをすることで、そのようなデータを見つけて修正しましょう。

R列のチェック

最後にR列が「要確認」となっているデータが無いことを確認します。

住所分割前と分割後のチェック

R列の書式(R2セルの場合)

=IF(G2&P2&Q2=C2,"OK","要確認")

C列の住所(分割前)と G・P・O列を結合した住所(分割後)が同じかをチェックしています。

P列(市区町村)に対して修正するケースがあるため、P列を修正したら合わせてC列も修正することで、住所分割前と分割後で文字が一致することとなります。

以上で住所分割作業は完了です。

まとめ

エクセルの関数を利用した住所の分割方法についてご紹介しました。

住所の分割が必要な場合、サンプルのエクセルを使ってみてください。

新型コロナ対策に

マスク

マスク用取り換えシート

手洗い用ハンドソープ

Twitterでフォローしよう

おすすめの記事