見出し画像

掲示場マッピングで知ってると便利なExcel小技 その2 WEBSERVICE関数でジオコーディング

掲示場マッピングをグーグルマップで作るのに、知っていると便利なExcel機能をつらつらと書いていく企画その2です。その3までは考えていますが、他にあれば4以降も。
Excelは仕事で毎日使う&なんちゃってマクロや簡単なパワークエリの処理はしますが、がっつり人様に教えるスキルはありません。なので、手順のみ書いていきます。仕組を知りたい方はガチ勢サイトに飛んでいただければ。
※数式に不備があったので修正しました。失礼しました(2022.11.16 8:50)

さて本題です。
グーグルマップにピン立てをするとき、住所か座標で設定するのが一般的だと思いますが、座標をまとめて調べるのは当然のことながら邪魔くさいですよね。かといって住所で調べるととんでもないところにピンが立つことも多々あるし。

そこで座標の当たりをつけてくれるWEBSERVICE関数が役に立ちます。
簡単に説明すると、手持ちの値に外部データ(この場合は住所から座標)から検索結果を引き込む関数です。
なおデータ自体の商用利用については提供元に相談してください。今回使っている元データは東京大学空間情報科学研究センターのものです。

具体的な使い方を下記の図にまとめました。

今日のお題を1枚にまとめた図

上の図の住道駅(A2セル)の住所から座標を出すWEBSERVICE関数の使い方がこちら。
B2セル 外部データアクセス先
= "http://geocode.csis.u-tokyo.ac.jp/cgi-bin/simple_geocode.cgi?charset=UTF8&addr=" & ENCODEURL(A2)
C2セル 関数
=WEBSERVICE(B2)
D2セル 計算結果・緯度
=FILTERXML(C2,"//latitude")
E2セル 計算結果・経度
=FILTERXML(C2,"//longitude")
ほぼ合ってますね。

下の例は大阪から離れたところのほうがわかりやすいかなと札幌駅に。
グーグルで検索すると、駅はこちらにピン立てされます。比較していただければ。

<注意点>
○当然ですが、勝手に市町村を補填して読み込んでくれるわけではないので、住所は市町村名から入れましょう。例えば本町1丁目とだけ入れると、わらわらと全国の「本町1丁目」座標が出てきます。
○市町村合併で旧○○町▲▲→合併で××市○○町▲▲という地名になっている場合、▲▲がユニークな名前だったとしても、○○町の記述省略はできません。省略すると大半のピンが市役所に集まる事態に(福知山市でやらかしました(笑))。

今回は以上です。
手順じゃなくて仕組みをちゃんと知りたいんだがって方は、下記サイトを参考にマクロを組んだので、こちらへ飛んでいただければ。

なお、自分ではやってないので今回は取り上げませんが、スプレッドシートでも同じことができるようです。


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