【コピペOK】Googleスプレッドシートで郵便番号から住所を取得する方法
▎はじめに
Googleスプレッドシートで、郵便番号から住所を取得したい!といった方に向けて、GASを使った方法を解説する記事です。本記事では、以下、スキルを得ることができます。
郵便番号から住所を検索する方法
GAS関数の作成方法
スプレッドシートからGAS関数を呼び出す方法
郵便番号検索APIとは何か
▎郵便番号から住所を検索してみよう!
手順1. Googleドライブを開く
手順2. スプレッドシートを作成する
手順3. GASエディタの起動する
手順4. “拡張機能”の”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桁の郵便番号}
「${7桁の郵便番号}」の部分を郵便番号に置き換えます
「1070052」 、「107-0052」どちらの郵便番号でもOKです。
(例)郵便番号「1070052」で検索する場合
レスポンス
▎まとめ
Googleスプレッドシートで郵便番号から住所を取得したい!といった方に向けて、GASを使った方法を解説しましたがいかがだったでしょうか?お役に立てれば幸いです。
[宣伝] GASプログラミング入門の教材 - Udemy
2023年11月時点で、約3,000人の受講生を獲得し、「Udemy Business」に選定されてます。
「Udemy Business」とは、Udemyが「企業研修」向けに提供しているサービスのことです。
Udemyで販売している全ての講座の中から、「企業研修」に提供できる高品質な講座をレビューや内容を加味して厳選していることが特徴のサービスです。
その「Udemy Business」で、このGAS講座は採用されております。
教材の詳細は、以下Udemyに記載しておりますので内容ご確認ください。
この記事が気に入ったらサポートをしてみませんか?