[記事数: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
Excel セル内の改行を検索/置換する方法 Ctrl + J... ①改行した位置にカーソルを入れ、Delete(デリート)キーやBack Space(バックスペース)キーで解除します。 ②ホームタブの「置換」機能を使います。検索する文字列に「Ctrl(コントロール)+ J 」キーを押し置換後の文字列は空白にします。 この置換機能を使用したあと、...
国土数値情報 ダウンロードサービス... 国土数値情報 ダウンロードサービス Web API 「国土数値情報」とは、国土形成計画、国土利用計画の策定等の国土政策の推進に資するために、地形、土地利用、公共施設などの国土に関する基礎的な情報をGISデータとして整備したものです。そのうち公開に差し支えないものについて、「地理空間情報活...
Excel VBAでリンク切れをチェックしたい。... 図のように、リンク一覧からリンクを調べ、問題なければ「○」を表示し、リンク切れの場合は「×」を表示 ユーザー定義関数の戻り値は、いくつかあります。ステータス200は、◯ですが、その他は、種類がいろいろありますので、×にせずに数値や文字にしました。基本的に、ステータスコードの20...
Excel VLOOKUP関数で#N/Aエラーを表示させない&結果を0にしない方法... エクセル(Excel)で関数の値が空だったり、検索対象の範囲内に該当する検索値がなかった場合、#N/Aエラーになります。 IFERROR関数を使うと#N/Aの表示を消す(表示しない)ように指定することができます。 IFERROR関数を使って#N/Aエラーを表示しない方法 ...
ExcelVBA 住所から緯度・経度→最寄駅、路線情報、距離、時間取得... 住所 名称から最寄駅等を取得するAdd Star VBA 下記のサイトのコードを少し変えて シートにある住所から最寄駅等の情報を作ってみました。 住所から最寄駅を検索する | ヴィーバ VeaBa! Excel VBA Tips http://veaba.keemoosof...
Google画像検索結果のファイルを一括ダウンロードするソフト... Google画像検索結果のファイルを一括ダウンロードするソフトです。 フリーソフトです。Excelで動作します。 Goolge(グーグル)画像検索の結果に表示されるすべての元画像ファイル(原寸大)を一括してダウンロード保存します。 画像を保存するフォルダーは、本ワークブックと同じフ...
Excel関数 SUMPRODUCTでデータ種類をカウント... Excel 関数で重複を除いてデータの件数を求める方法 重複を除いてデータの件数、すなわちデータの種類を、Excel の関数を用いて求める方法を紹介します。 方法1 SUMPRODUCT関数とCOUNTIF関数を用いて求めます。 データ範囲内に空白セルがある場...
Excel関数 住所の数字を半角数字に変換する(ASC関数)... ●概要● 複数の人が作成した住所録データなどを集めると、入力方法の違いにより全角数字と半角数字が混ざってしまうことがあります。 今回は、文字列内の全角英数カナ文字を半角英数カナ文字に変換するASC関数を使い、文字列に含まれる数字を半角に統一する方法を紹介します。 ●詳細● 変換後のデータを...
Excel 複数の条件に一致するデータの個数を求めるCOUNTIFS関数... COUNTIFの複数条件 COUNTIFS関数 下のような表で「女性の人数を数えたい」といった場合、COUNTIF関数を使って「性別」欄に「女」と入力されているセルの個数を数えれば女性の人数を調べられます。 ところが「35歳以上の女性の人数を数えたい」といった条件だった場合、「性別」...
Googleドライブ スプレッドシートで行または列を見出しとして固定する方法... 行や列を固定する、固定解除する 行や列を固定すると、スクロールしても特定のデータを常に同じ場所に表示できます。 スプレッドシートで、固定する行または列の中のセルを 1 つ選択します。 次へ をクリックします。 固定する行または列の数を選択します。 固定解除するには、 または を選...




コメントを残す