
Googleスプレッドシートで、郵便番号から住所を自動入力する方法をご紹介します。「数件~数十件の住所」を手軽に入力できる「API」を使う方法と、「数百件以上の住所」を安定して入力できる「インポート方式」の2つを解説しているので、ぜひ参考にしてみてください。
APIを使って住所を取得する(簡単)

以下のような数式を入力し、オートフィルでコピーします。
=IMPORTXML("https://api.excelapi.org/post/address?zipcode="&A2,".")
【数式の解説】
- IMPORTXML:指定したWebサイト上にあるデータを取得する関数です。
- https…zipcode=:住所を自動検索してくれる「ExcelAPI」というサービスのURLです。
- A2:URLの末尾に、A2セルの郵便番号をくっつけて検索します。
- “.”(ピリオド):取得したデータをそのまま全て表示します。
IMPORTXML関数の引数:(URL, XPathクエリ, locale)
APIは数式が実行されるたびに「Web上に住所を検索しに行く」という動きをします。そのため、数が多い場合は住所を「値として貼り付け」しておくとシートが軽くなります。
住所をインポートして検索する(大量データもOK)
郵便番号一覧をインポートする

日本郵便のホームページから、元となるデータをダウンロードします。
【データの準備】
- 住所の郵便番号(CSV形式)を開きます。
- 「都道府県名」または「全国一括(右下)」をダウンロードします。
- ※全国一括はデータが大きいため、インポートに多少時間がかかります。

【スプレッドシートへの取り込み】
- スプレッドシートのメニューから「ファイル」→「インポート」を開きます。
- 「アップロード」の「参照」をクリックします。
- zipファイルの中身を選択します。
- ポイント1:右下のファイル形式を「すべてのファイル」に変更します。
- ポイント2:zipファイルを「右クリック → 開く」で中身を表示させ、中にあるCSVファイルを選択して「開く」をクリックします。
- インポート場所を「新しいシートを挿入する」に設定し、「データをインポート」をクリックします。
郵便番号から住所を自動入力する(XLOOKUP関数)

インポートしたシートを「検索範囲」として使い、XLOOKUP関数で住所を取得します。
例:=XLOOKUP(A2,'13TOKYO'!C:C,'13TOKYO'!G:I)
XLOOKUP関数の引数:(検索キー, 検索範囲, 結果の範囲, [見つからない場合の値], [一致モード], [検索モード])
【ポイント】
- 郵便番号のハイフンを消す
- 郵便番号の列(A列)を選択 → Ctrl+H → 検索欄に「-」を入力 → 置換後の文字列は空欄のまま「すべて置換」。
- 「以下に掲載がない場合」を消す
- インポートしたシートのI列を選択 → Ctrl+H → 検索欄に「以下に掲載がない場合」を入力 → 置換後の文字列は空欄のまま「すべて置換」。