見出し画像

【コピペOK】Googleスプレッドシートで郵便番号から住所を取得する方法


▎はじめに

Googleスプレッドシートで、郵便番号から住所を取得したい!といった方に向けて、GASを使った方法を解説する記事です。本記事では、以下、スキルを得ることができます。

  • 郵便番号から住所を検索する方法

  • GAS関数の作成方法

  • スプレッドシートからGAS関数を呼び出す方法

  • 郵便番号検索APIとは何か

▎郵便番号から住所を検索してみよう!

手順1. Googleドライブを開く
手順2. スプレッドシートを作成する

スプレッドシートを作成する

手順3. GASエディタの起動する
手順4. “拡張機能”の”App Script”をクリック

“拡張機能”の”App Script”をクリック

手順5. コード.gsに以下のコードをコピー&ペーストする

/**
 * 郵便番号から住所を検索する
 * @param {string} postalCode 郵便番号
 * @returns {string} 住所
 * - 例:徳島県美馬市
 */
function searchAddress(postalCode) {
  const response = UrlFetchApp.fetch(
    `http://zipcloud.ibsnet.co.jp/api/search?zipcode=${postalCode}`
  );
  const json = response.getContentText();
  const data = JSON.parse(json);
  const address = data.results[0].address1 + data.results[0].address2 + data.results[0].address3;
  return address;
}

手順6. スプレッドシートに「A列:郵便番号」と「B列:住所」を作成する

手順7. 「B列:住所」に「=searchAddress(A2) 」を入力する

手順8. searchAddress がGASの関数で、引数に郵便番号を渡すと、住所が返ってくる

郵便番号から住所を検索

▎GAS関数の解説

郵便番号(postalCode)で zipcloud APIを呼び出す

const response = UrlFetchApp.fetch(
	`http://zipcloud.ibsnet.co.jp/api/search?zipcode=${postalCode}`
);
  • zipcloudとは、日本郵便のWebサイトで公開されている郵便番号データを再配信するサービスの名称です

  • この記事では、zipcloudが提供する”郵便番号検索API”を使います

  • ”郵便番号検索API”では、郵便番号(postalCode)から住所をクラウドで検索することができます

住所情報のJSON形式の文字列で取得する

const json = response.getContentText();
  • zipcloud APIから住所情報のJSON形式の文字列を取得しています

  • JSON形式は、次の通りです

{
  "message": null,
  "results": [
    {
      "address1": "東京都",
      "address2": "港区",
      "address3": "赤坂",
      "kana1": "トウキョウト",
      "kana2": "ミナトク",
      "kana3": "アカサカ",
      "prefcode": "13",
      "zipcode": "1070052"
    }
  ],
  "status": 200
}

住所情報のJSONをオブジェクトに変換する

const data = JSON.parse(json)
  • “JSON.parse(…)”で、住所情報のJSONをオブジェクトに変換しています

  • 住所情報は、以下のようなオブジェクトに変換されます

{
	message: null,
	results: 
	[ 
		{ 
			address1: '東京都',
			address2: '港区',
			address3: '赤坂',
			kana1: 'トウキョウト',
			kana2: 'ミナトク',
			kana3: 'アカサカ',
			prefcode: '13',
			zipcode: '1070052'
		} 
	],
	status: 200 
}

関数の戻り値として住所の文字列を返す

const address = data.results[0].address1 + 
	data.results[0].address2 + 
	data.results[0].address3;

return address;
  • 関数の戻り値として住所の文字列(address)を返しています

  • 以下、住所情報を結合して住所の文字列を作成しています

    • 都道府県名

      • data.results[0].address1

    • 市区町村名

      • data.results[0].address2

    • 町域名

      • data.results[0].address3

▎郵便番号検索APIとは

  • 株式会社アイビス様が運営する「zipcloud」というサービスで提供している郵便番号データを検索できるWeb APIです

  • 日本郵便が公開している郵便番号データから作成されており信頼性があります

リクエストURL

https://zipcloud.ibsnet.co.jp/api/searchz?zipcode=${7桁の郵便番号}

レスポンス

http://zipcloud.ibsnet.co.jp/doc/api より参照

▎まとめ

Googleスプレッドシートで郵便番号から住所を取得したい!といった方に向けて、GASを使った方法を解説しましたがいかがだったでしょうか?お役に立てれば幸いです。

💡 記事のまとめ
◾️ 郵便番号から住所を検索する方法
1. 「function searchAddress(postalCode) 」をGASエディタで作成する
2. スプレッドシートの数式に「=searchAddress(郵便番号)」 を入力する

◾️ GAS関数の作成方法
1. “拡張機能”の”App Script”でGASエディタを起動
2. 「コード.gs」 にGASの関数を記述する

◾️ スプレッドシートからGASの関数を呼び出す方法
1. スプレッドシートの数式に「=searchAddress(郵便番号) 」を入力する

◾️郵便番号検索APIとは何か
・株式会社アイビスが運営する「zipcloud」で提供している、郵便番号を検索できるWeb APIのこと

[宣伝] GASプログラミング入門の教材 - Udemy

  • 2023年11月時点で、約3,000人の受講生を獲得し、「Udemy Business」に選定されてます。

    • 「Udemy Business」とは、Udemyが「企業研修」向けに提供しているサービスのことです。

    • Udemyで販売している全ての講座の中から、「企業研修」に提供できる高品質な講座をレビューや内容を加味して厳選していることが特徴のサービスです。

    • その「Udemy Business」で、このGAS講座は採用されております。

  • 教材の詳細は、以下Udemyに記載しておりますので内容ご確認ください。

この記事が気に入ったらサポートをしてみませんか?