[記事数:1,202] 日本を元気にするキーワード、地域活性化×中小企業× ITのTips and Quotes(秘訣と引用文)
creative  link  memo 

住所から緯度経度をExcel の WEBSERVICE 関数で取得する方法



1つのセルにまとめるとこれ
  ↓

Excel の WEBSERVICE 関数でジオコーディング

Excel の WEBSERVICE 関数を使って、住所文字列に対応する緯度経度を取得する方法を紹介します。なお、この記事で紹介する方法は CSISシンプルジオコーディング実験 のサービスを使用したものとなります。この方法を使用する場合には CSISシンプルジオコーディング実験 参加規約 にしたがって、権利者の権利を侵害しないように注意してください。

WEBSERVICE 関数については前稿 Excel の WEBSERVICE 関数で外部データ取得 を参照してください。

1. シナリオ

世田谷区のサイト 公衆浴場~世田谷銭湯スタンプラリー「世田谷湯屋めぐり」を開催中!!~ の最下部にある、 公衆浴場一覧(CSV形式 2キロバイト) を例題とします。

CSV をダウンロードして Excel で開くとこのようなレイアウトになっているはずです。世田谷区の銭湯の一覧が住所・電話番号とともに整備されています。

image

B列 の住所文字列をもとに、以下のように緯度・経度を付与するのが今回の目的です。

image

2. 手順

ジオコーディング用の URL を設定

セル E3 に以下の式を入力します

URLの構築.

image

入力するとセルに以下のような URL が表示されるはずです。

実際にこの URL にアクセスすると、以下のような XML が表示されるはずです。

image

※ 結果が二件含まれていることについては後述

XML を取得

セル F3 に以下の式を入力します

XMLの取得.

image

入力するとセルに XML 文字列が表示されるはずです。

緯度、経度をフィル

セル G3 および H3 に以下を入力します

緯度.
経度.

image

それぞれのセルに緯度経度らしき数値が設定されていたら成功です。

コピー

E3H3 を選択して E4H4 以下の行にコピーすることで、各行ごとにURL設定/XML取得/緯度経度フィルを行うことができます。

image

※ 最終行に明らかにあやしい緯度経度が含まれている件は後述

3. 解説

上記の手順では3つの関数を使用しています。

ENCODEURL(str) 文字列を URL エンコードして返す関数です。URLを組み立てるために使っています。住所文字列は通常日本語なので、そのまま URL に使ってしまうとサーバによっては正しい結果が返ってこないためです。

WEBSERVICE(url) 指定の URL のコンテンツを取得する関数です。ここで実際に CSISシンプルジオコーディング実験のサーバにアクセスが発生します。

FILTERXML(xml,xpath) xml 文字列に対して xpath で検索を実施して返す関数です。

上記はわかりやすくするために手順を別々に記述していますが、以下のように連結して記述しても問題はありません。

緯度(一行).
経度(一行).




FavoriteLoadingお気に入りAdd to favorites
Googleドライブ スプレッドシートで行または列を見出しとして固定する方法... 行や列を固定する、固定解除する 行や列を固定すると、スクロールしても特定のデータを常に同じ場所に表示できます。 スプレッドシートで、固定する行または列の中のセルを 1 つ選択します。 次へ をクリックします。 固定する行または列の数を選択します。 固定解除するには、 または を選...
Excel VBA Wikipediaからタイトル、本文のダイジェスト、Wikipediaへのリンク... はじめに 今回は、インターネット上の百科事典「Wikipedia」をExcelから利用してみます。ブラウザの画面では情報が多すぎますが、APIを使うことにより、要約されたテキストとして取得できるので、用語一覧などを作る際にも便利です。動作確認は、Windows 7、Excel 20...
Excel VBAでリンク切れをチェックしたい。... 図のように、リンク一覧からリンクを調べ、問題なければ「○」を表示し、リンク切れの場合は「×」を表示 ユーザー定義関数の戻り値は、いくつかあります。ステータス200は、◯ですが、その他は、種類がいろいろありますので、×にせずに数値や文字にしました。基本的に、ステータスコードの20...
Word 2つの文書を比較して差分を表示 Wordにも、2つの文書を比較して差分を教えてくれる機能があった! 2つのファイルを差分比較するのに何を使っていますか? WordにもDiff(ファイル比較)ソフトと同等の機能が備わっているんです! 複数ファイルのテキスト内容を横並びに表示し、隣のファイルと比較して相違がある箇所を教えてくれ...
Excel VLOOKUP関数で#N/Aエラーを表示させない&結果を0にしない方法... エクセル(Excel)で関数の値が空だったり、検索対象の範囲内に該当する検索値がなかった場合、#N/Aエラーになります。 IFERROR関数を使うと#N/Aの表示を消す(表示しない)ように指定することができます。 IFERROR関数を使って#N/Aエラーを表示しない方法 ...
エクセルのデータを2段組みで印刷したい場合は、編集はエクセルで、印刷はワードで行う... エクセルのデータを2段組みで印刷したい場合は、編集はエクセルで、印刷はワードで行うのがお勧めです。 エクセルのデータ範囲を(今後のデータの追加に対応できるように少し大きめに)選択し、右クリック「コピー」、ワードで新規文書を開き、ページレイアウトタブの段組みから2段を選択しておき、右クリック「形...
Excel ハイパーリンクのURLを別のセルに表示したい... 現在アクティブなシートのすべてのハイパーリンクのURL を 右隣のセルに書き出すマクロです。 マクロのセキュリティを中にしてエクセルを再起動する(ご利用のエクセルのバージョンに応じた方法で) ブックを開く ALT+F11でVBE画面を出す 挿入メニューから標準モジュールを挿入する 現れ...
Excel IF関数で、あいまいな条件(……を含む)の指定をするには... のなかにExcelという文字列を含めば、○を含まなければ、何も表示しないという式を入力 B2セルに入力するCOUNTIFの式は、 COUNTIF(B2,"*Excel*") これをIF関数の書式にネスト(入れ子)します。 数式 =IF(COUNTIF(範囲,条件),真の場合,偽の場合) ...
ExcelVBA 住所から緯度・経度→最寄駅、路線情報、距離、時間取得... 住所 名称から最寄駅等を取得するAdd Star VBA 下記のサイトのコードを少し変えて シートにある住所から最寄駅等の情報を作ってみました。 住所から最寄駅を検索する | ヴィーバ VeaBa! Excel VBA Tips http://veaba.keemoosof...
住所⇔緯度・経度変換 地理院マップシート... 「地理院マップシート」とは、Microsoft(R)Excel のマクロ機能を利用したファイルです。 住所録等の帳票データを「地理院地図」に簡単に展開して「地図上に見える化」することができます。 「地理院マップシート」は平面直角座標系、UTM・UTMポイントの座標値変換も可能です。ま...




コメントを残す