liquidjumper Googleスプレッドシート Googleスプレッドシートで郵便番号から住所を検索し自動入力する方法

Googleスプレッドシートで郵便番号から住所を検索し自動入力する方法

googlespreadsheet_how_to_auto-fill_an_address_from_a_zip_code_topimage

さまざまなWEBサービスで個人情報を登録する際、郵便番号を入力するだけで、住所の大部分が自動入力される機能、あれ便利ですよね。

顧客情報や名簿録など、住所データを作成する時にあの機能が使えたら作業効率も上がると思いませんか?


Googleスプレッドシートでも、郵便番号データを読み込めば、同様の事が簡単に行えます。

そこで本記事では、Googleスプレッドシートで郵便番号から住所を検索し、自動入力する方法を紹介したいと思います。

住所情報の入力作業を効率化したいと思っている方は是非参考にしてみてください。


郵便番号データを入手する

郵便番号と住所等を対応させたデータベースが日本郵便株式会社のHPで公開され、自由にダウンロードできます。

この郵便番号データですが、日本郵便株式会社は著作権を主張しないとの事なので、使用・再配布・移植・改良 が可能となってます。


>> 日本郵便HP・郵便番号データダウンロードページ

日本郵便HP・郵便番号データダウンロードページ
▲日本郵便HP・郵便番号データダウンロードページ

日本郵便の郵便番号データをダウンロード

郵便番号データは、CSV(可変長データ)形式のファイルをzip形式で圧縮して保存されています。


ダウンロードできる「郵便番号データ」は3種類。

1)読み仮名データが半角カタカナ

「郵便番号データ」読み仮名データが半角カタカナ


2)読み仮名データがローマ字

「郵便番号データ」読み仮名データがローマ字


更に、1)の方は、「読み仮名データの促音・拗音を小書きで表記しないもの」(例:ホツカイドウ)と、

「読み仮名データの促音・拗音を小書きで表記するもの」(例:ホッカイドウ)の2種類あります。

通常の用途であれば、1)読み仮名データが半角カタカナの「読み仮名データの促音・拗音を小書きで表記するもの」で問題ないと思いますが、住所をローマ字で入力する必要がある等、日本語圏以外の用途にも使用するなら、2)読み仮名データがローマ字 のデータが良いでしょう。


今回は、1)読み仮名データが半角カタカナの「読み仮名データの促音・拗音を小書きで表記するもの」をダウンロードしました。

読み仮名データが半角カタカナの「読み仮名データの促音・拗音を小書きで表記するもの」をダウンロード


データは、全データだとサイズが大きすぎるとの理由で、都道府県別に別れていますが、最近のPC、ネットワーク環境であれば、都道府県全てのデータをまとめた「全国一括」でも問題無いと思います。


因みに「全国一括」のサイズは、2022年12月のファイルで

・ZIPアーカイブ – 1.7 MB

・解答・展開したCSVファイル – 12.3 MB

「郵便番号データ」「全国一括」

事業所の個別郵便番号データをダウンロード

日本郵便のHPには、通常の用途の郵便番号データの他に「大口事業所個別データ」も公開され、こちらもダウンロード可能です。

「大口事業所個別番号」とは、配達物数の多い大口事業所を表す個別の郵便番号です。

個別番号を記載するだけで、あて名の住所をすべて省略することができますが、私書箱あての場合、又は、ゆうパックを取扱所において利用する場合は省略できません。


日本郵便HPの郵便番号データダウンロードのページで、事業所の個別郵便番号(CSV形式)をクリック。ダウンロードページに移動します。

事業所の個別郵便番号(CSV形式)をクリック


最新データのダウンロード(zip形式)をクリック。保存先を指定して保存します。

最新データのダウンロード(zip形式)をクリック

郵便番号データは頻繁に更新される

郵便番号は区画整理や郵便区の調整などによって、割と頻繁に変更されています。

大口事業所個別番号も同様に、新規申請や事業所の廃止、個別番号指定の基準となる1日あたりの平均配達物数の減少など、さまざまな理由で変更追加がされています。

「郵便番号データ」「大口事業所個別番号データ」は、想像している以上に毎月何かしらの追加・削除・変更が行われているので、定期的に更新した方が良いでしょう

Googleスプレッドシートに郵便番号データをインポート

まず、GoogleスプレッドシートにダウンロードしたCSVファイルをインポートします。

メニューから ファイル > インポート

メニューから ファイル > インポート


[ アップロード]を選択、[ファイルをドラック]もしくは、[デバイスのファイルを選択]で、CSVファイルをアップロードします。

CSVファイルをアップロード


CSVファイルのアップロードが完了すると、[ファイルをインポート]が表示されるので、インポート場所を選択します。

ここで重要な事は、「テキストを数値、日付、数式に変換する」のチェックを外す事。

このチェックを外し忘れると、郵便番号を示す列や町域を示す列において、上1けたあるいは2けたの「0」「00」削られてしまい、郵便番号が検索できなくなります。

例:北海道札幌市北区の郵便番号

北海道札幌市北区の郵便番号
左)チェックを外す、右)チェックを入れる

Googleスプレッドシートに郵便番号データのCSVファイルをインポートする際は「テキストを数値、日付、数式に変換する」のチェックを外すのを忘れないで下さい。

インポート場所の選択、「テキストを数値、日付、数式に変換する」のチェックを外したら「データをインポート」をクリック

「データをインポート」をクリック


郵便番号データがGoogleスプレッドシートにインポートされました。

郵便番号データがインポートされました。

SAMURAI TERAKOYA

XLOOKUPで郵便番号から住所を検索

Googleスプレッドシートにインポートした郵便番号データを使って、郵便番号から住所を検索してみましょう。

郵便番号から町域名を検索

郵便番号データ(読み仮名データが半角カタカナの「読み仮名データの促音・拗音を小書きで表記するもの」)の各列の内容は以下のようになっています。

記載内容記載形式
1A全国地方公共団体コード(JIS X0401、X0402) 半角数字
2B(旧)郵便番号(5桁)半角数字
3C郵便番号(7桁)半角数字
4D都道府県名 半角カタカナ
5E市区町村名半角カタカナ
6F町域名半角カタカナ
7G都道府県名漢字
8H市区町村名漢字
9I町域名漢字
10J一町域が二以上の郵便番号で表される場合の表示「1」は該当、「0」は該当せず
11K小字毎に番地が起番されている町域の表示「1」は該当、「0」は該当せず
12L丁目を有する町域の場合の表示「1」は該当、「0」は該当せず
13M一つの郵便番号で二以上の町域を表す場合の表示「1」は該当、「0」は該当せず
14N更新の表示「0」は変更なし、「1」は変更あり、「2」廃止(廃止データのみ使用))
15O変更理由「0」は変更なし、「1」市政・区政・町政・分区・政令指定都市施行、「2」住居表示の実施、「3」区画整理、「4」郵便区調整等、「5」訂正、「6」廃止(廃止データのみ使用)


郵便番号データの郵便番号を検索し、該当する同行の指定した列の値を返すには、関数XLOOKUP が便利です。

結果だけを求めるなら関数VLOOKUP でも可能ですが、関数XLOOKUP の方が自由度が高く、シンプルに記述できるので本記事ではXLOOKUPをオススメします。

XLOOKUP(“郵便番号”, 検索する列(郵便番号の列), 返す列範囲(住所の列番号))


郵便番号「3670026」から、漢字の町域名を検索します。

=XLOOKUP("3670026",KEN_ALL!C:C,KEN_ALL!I:I)


町域名「朝日町」が返されました。

町域名「朝日町」が返されました。

郵便番号から都道府県名・市区町村名・町域名をまとめて検索

町域名「朝日町」が返されましたが、これだけだと何処の地域の「朝日町」なのか分かりません。

関数XLOOKUP は、返す値の列を範囲指定できるので、都道府県名、市区町村名、町域名の3列を範囲で指定し、まとめて返したいと思います。

XLOOKUPの第3引数に都道府県名、市区町村名、町域名の3列を範囲指定

=XLOOKUP("9693284",KEN_ALL!C:C,KEN_ALL!G:I)


都道府県名「埼玉県」、市区町村名「本庄市」、町域名「朝日町」と3列の値がまとめて返されました。

都道府県名「埼玉県」、市区町村名「本庄市」、町域名「朝日町」と3列の値がまとめて返されました。

大口事業所個別データをXLOOKUPで検索

大口事業所個別データをXLOOKUPで検索
▲Googleスプレッドシートにインポートした大口事業所個別データ


大口事業所個別データの各列の内容を確認すると、郵便番号データには無かった、「事業所名」「小字名、丁目、番地等」が含まれているのが分かります。

記載内容記載形式
1A大口事業所の所在地のJISコード
2B大口事業所名カナ
3C大口事業所名漢字
4D都道府県名漢字
5E市区町村名漢字
6F町域名漢字
7G小字名、丁目、番地等漢字
8H大口事業所個別番号
9I旧郵便番号
10J取扱局漢字
11K個別番号の種別の表示「0」大口事業所「1」私書箱
12L複数番号の有無「0」複数番号無し「1」複数番号を設定している場合の個別番号の1「2」複数番号を設定している場合の個別番号の2「3」複数番号を設定している場合の個別番号の3一つの事業所が同一種別の個別番号を複数持つ場合に複数番号を設定しているものとします。従って、一つの事業所で大口事業所、私書箱の個別番号をそれぞれ一つづつ設定している場合は 12)は「0」となります。
13M修正コード「0」修正なし「1」新規追加「5」廃止


大口事業所個別データは、「H列」に個別番号があり、都道府県名や事業所名などの情報は、「H列」の左側の列にあります。

VLOOKUPの場合、[検索列]は指定した範囲の最左列で固定なので、大口事業所個別データの様な、[検索列]の左側に[返す値の列]がある場合は工夫が必要でした。

その点、XLOOKUPは、[検索列]と[返す値の列]の位置は自由度が高いので問題ありません。


大口事業所個別番号「1788567」から、事業所名と住所を検索します。

=XLOOKUP("1788567",JIGYOSYO!H:H,JIGYOSYO!C:G)


事業所名「東映アニメーション 株式会社」、都道府県名「東京都」、市区町村名「練馬区」、町域名「東大泉」、小字名、丁目、番地等「2丁目10−5」が返されました。

事業所名と住所を検索

郵便番号から町域名を検索する際の注意点

郵便番号データの「J列」以降の内容から分かるように、郵便番号は区市町村の範囲を示すものではありますが、郵便番号と番地だけで正確な住所は特定できません。

複数の町域をまとめて一つの郵便番号にしている場合や、丁目、番地、字毎に郵便番号が異なる町域などがあります。つまり、必ずしも一つの郵便番号に対して一つの町域名では無いので、郵便番号で住所(町域)を検索する際は注意してください。

大口事業所個別データも、一つの事業所が同一種別の個別番号を複数持つ場合(大口事業所、私書箱)が有るので、こちらも注意が必要です。


郵便番号を正確に記載すれば住所を記載する負担を減らす事ができる

郵便番号が分かれば市区町村の範囲を示せます。

つまり、7桁の郵便番号を正確に記載すれば、住所の市区町村名(行政区名)まで記載を省略できるという事。

住所の記載を省略する際の注意点

郵便番号データで市区町村名(行政区名)が検索できるなら、町域名も省略したいところですが、郵便番号だけで町域名を正確に特定できない為、残念ながら省略もできません。

7桁の郵便番号を記載して省略できる場合でも、町域以下は必ず記載する必要があります


■省略例

省略前省略後
〒105-0011 東京都港区芝公園4丁目2−8〒105-0011 芝公園4丁目2−8


現実問題として先方がビジネス関係だと、住所の記載を省略するのは慎重になりますが、一方、荷物の送り先が実家で、住所を手書きで書く場合など、先方に気を使う必要のない場合は、直ぐにでも使えそうです。

住所に「大字」「字」がある場合の記載省略

■町域名の直前に「大字(おおあざ)」「字(あざ)」がある場合。

「大字」「字」までの記載を省略することができます。

省略前省略後
〒966-0816 福島県喜多方市細田7230〒966-0816 細田7230
〒036-8356  青森県弘前市大字下白銀町1〒036-8356  下白銀町1

■「大字」に続く町域名の後に「字」がある場合。

「大字」まで省略可、「字」は省略できません。

省略前省略後
〒969-3284 福島県耶麻郡猪苗代町大字三ツ和前田81〒969-3284 三ツ和前田81

住所をGoogleマップにリンクする

郵便番号データを検索し取得した住所の有効活用の一つとして、「Googleマップへのリンク」があります。

同じGoogleのウェブサービスなので、連携するのも簡単。

住所の文字列を指定すると、その位置のGoogleマップを開くURLを生成してくれる関数があります。

Googleスプレッドシートで、指定してURLのリンクを生成してくれる関数


HYPERLINK


この関数にGoogleマップのURLを指定する方法は次の様な数式になります。

=HYPERLINK(“http://www.google.co.jp/maps/place/”&住所& “”)

CONCATENATE関数で、都道府県名・市区町村名・町域名を繋げた住所を、GoogleマップのURLに追加

=HYPERLINK("http://www.google.co.jp/maps/place/"&CONCATENATE($G2,$H2,$I2)& "")
Googleマップのリンク


生成されたリンクをクリックすると、指定した住所の位置でGoogleマップが開きました。

Googleマップが開かれる

住所をリンクしたGoogleマップのURLからQRコードを生成する

住所をGoogleマップにリンクする事ができたら、更に勧めて、リンクしたGoogleマップのURLをQRコードにしてみたいと思います。

GoogleマップにリンクするQRコードが生成できれば、 ネット印刷でお馴染みのラクスル 等を利用してチラシや葉書、名刺に印刷したり、有効活用の幅が広がります。


GoogleスプレッドシートでGoogleマップのQRコードを生成する数式は次の書きます。
(サイズが300×300の場合)

IMAGE(“https://chart.googleapis.com/chart?chs=300×300&cht=qr&chl=”&URL&””)

先程、HYPERLIN関数で生成した住所のURLを、IMAGE関数のURLに指定します。

=IMAGE("https://chart.googleapis.com/chart?chs=300x300&cht=qr&chl="&HYPERLINK("http://www.google.co.jp/maps/place/"&CONCATENATE($G2,$H2,$I2)& "")&"")

QRコードが生成されました。

GoogleマップQRコード


生成したQRコードをスマホのカメラで読み取ると、指定した住所のGoogleマップが開きました。

QRコードからGoogleマップ


まとめ

Googleスプレッドシートで郵便番号から住所を自動入力する方法を紹介しました。

住所録に招待状、暑中見舞いに、年末年始のご挨拶

住所を入力する機会は一年を通して何かしら存在します。

そして、その数が多ければ多いほど、データ作成は大変な事に。

本記事で紹介した方法で、大分その労力も楽になると思うので是非参考にしてみてください。


日本郵便・郵便番号データ・ダウンロードページ:

郵便番号データ・ダウンロードページ

Googleスプレッドシートにインポートする際の注意点:

ダウンロードした郵便番号データのCSVファイルをGoogleスプレッドシートにインポートする際は、「テキストを数値、日付、数式に変換する」を無効に

郵便番号から住所を検索する関数は「XLOOKUP」がオススメ:

「VLOOKUP」でも検索は可能ですが、列の位置など「XLOOKUP」に比べて制限が多いので、より自由度の高い「XLOOKUP」の利用をオススメします。








𝕏 ( 旧Twitter ) Facebook Pocket LINE はてブ

おすすめの関連記事



あわせてよく読まれている記事