読者です 読者をやめる 読者になる 読者になる

技術のメモ帳

気が向いたときに書いてます

[GAS]SpreadSheetで郵便番号から住所を取得する関数

Google Apps Script

SpreadSheetで指定したセルの文字列(郵便番号)から、住所を取得する関数です。

SpreadSheetを新規作成し、[ツール]→[スクリプトエディタ]から、エディタを起動します。

エディタ起動後、次の関数を入力し、保存します。

function getAddressByPostalCode(postalCode) {
  try {
    if (!/^\d{3}\-?\d{4}$/.test(postalCode)) throw new Error('Invalid postal code');
    var response = UrlFetchApp.fetch('http://zipcloud.ibsnet.co.jp/api/search?zipcode='+postalCode),
        result   = JSON.parse(response).results;
    if (response.getResponseCode() !== 200) {
      throw new Error('Unable to API');
    } else if(result == null) {
      throw new Error('Unavailable postal code');
    } else {
      return result[0].address1 + result[0].address2 + result[0].address3;
    }
  } catch(e) {
    return e.toString();
  }
}

動作確認

問題なく、動作しました。

今回のサンプルでは、郵便番号検索API - zipcloudを利用しました。

よくあるマクロではありますが、練習問題的にはちょうど良い感じかと思います。