[記事数: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
マクロVBA 連続数値を入れる 連続数値を入れる|Excelマクロの記録で覚えるVBA 数式の結果を値として取得する エクセルVBAについて数式の結果を値として取得するコードはあります... - Yahoo!知恵袋 =WEBSERVICE($C$3&C14&$C$6&$C$5&...
AmazonのランキングRSS こちらのベストセラーページの左側にあるカテゴリ別にRSSが用意されており、さらにこのカテゴリは細分化されているため欲しいジャンルのRSSを知ることができます。 さらに上側のメニューバーに「ベストセラー」、「新着ニューリリース」、「ヒット商品」、「一番ほしい物リストに追加されている商品」...
Excel関数 SUMPRODUCTでデータ種類をカウント... Excel 関数で重複を除いてデータの件数を求める方法 重複を除いてデータの件数、すなわちデータの種類を、Excel の関数を用いて求める方法を紹介します。 方法1 SUMPRODUCT関数とCOUNTIF関数を用いて求めます。 データ範囲内に空白セルがある場...
年間シングルランキング(日本国内) ■年間音楽ダウンロードランキング(2005~) ■年間ヒットシングル(1950~) ■年間ヒットアルバム(1970~) ■年間ヒット音楽DVD/Blu-ray(1994~) ■年間ヒットアーティスト(1970~) ■年間音楽CDレンタルランキング(2006~) ■年間ビルボードJAP...
Word 段組み(1ページに2列以上の段)を設定する... Word2007では、文書の一部分だけを段組みにできる。タイトルや見出しは1段で本文は2段組み、といったレイアウトも可能だ。ここでは、カーソル以降の文章を段組みにする方法、範囲指定した文章だけを段組みにする方法の2つを紹介しよう。 カーソルから後ろの文章を段組みにする場合は、次のように操作する...
Excel VLOOKUP関数で#N/Aエラーを表示させない&結果を0にしない方法... エクセル(Excel)で関数の値が空だったり、検索対象の範囲内に該当する検索値がなかった場合、#N/Aエラーになります。 IFERROR関数を使うと#N/Aの表示を消す(表示しない)ように指定することができます。 IFERROR関数を使って#N/Aエラーを表示しない方法 ...
Word 2つの文書を比較して差分を表示 Wordにも、2つの文書を比較して差分を教えてくれる機能があった! 2つのファイルを差分比較するのに何を使っていますか? WordにもDiff(ファイル比較)ソフトと同等の機能が備わっているんです! 複数ファイルのテキスト内容を横並びに表示し、隣のファイルと比較して相違がある箇所を教えてくれ...
Excel WEBSERVICE関数を使ってWeb APIを利用する方法 Wikipedia、郵便番... Microsoft Office 2013で「WEBSERVICE」「ENCODEURL」「FILTERXML」の3つの関数が追加され、これらの関数を使うと、Webサービス、つまり公開されているWeb APIをVBAでコードを書くことなく利用できるようになります。 関数 説明 書式...
Googleドライブ スプレッドシートで行または列を見出しとして固定する方法... 行や列を固定する、固定解除する 行や列を固定すると、スクロールしても特定のデータを常に同じ場所に表示できます。 スプレッドシートで、固定する行または列の中のセルを 1 つ選択します。 次へ をクリックします。 固定する行または列の数を選択します。 固定解除するには、 または を選...
Excel 外部のブックにリンクしているセルを検索する... Microsoft Excel のファイルを開くと、他のデータソースへのリンクが含まれていることを知らせるメッセージが表示される場合があります。 自分で作った Excel ファイルの場合、このようなメッセージが表示されたら、その Excel ファイル内で、別の Excel ファイルの内...




コメントを残す