やじうまの杜

「ExcelAPI」と新関数「IMAGE」を組み合わせたデモが早速お披露目

法人名を入れると、その法人番号・所在地とともに、所在地を「Google マップ」で表示

 「やじうまの杜」では、ニュース・レビューにこだわらない幅広い話題をお伝えします。

法人名を入れると、その法人番号・所在地とともに、所在地を「Google マップ」で表示するデモ

 昨日紹介した「ExcelAPI」と、プレビュー版「Excel」に先行導入されている新しい関数「IMAGE」を組み合わせたデモがなんだかすごかったので、早速紹介してみたいと思います。

 法人名を入れると、その法人番号・所在地とともに、所在地が「Google マップ」で表示されます。こんな使い方もできるんですねぇ……。

 この処理で利用する「ExcelAPI」機能は、以下の3つのようです。

 最後の機能はまだベータ版でしたし、APIキーを外部サービスに渡してしまうのはあまりよい気分ではなかったので、本稿では「Maps Static API」を直接使ってデモを再現してみました。

 まず、「C2」のセルに以下の数式をコピーして貼り付けます。これで「B2」セルに企業名を入力すると、「C2」セルにその法人番号が表示されます。

=WEBSERVICE("http://api.excelapi.org/company/number?name="&ENCODEURL(B2))

 次に、「D2」セルに以下の数式をコピーして貼り付けます。「C2」セルに格納した法人番号で法人の所在地(住所)を調べ、「D2」セルに格納します。

=WEBSERVICE("http://api.excelapi.org/company/address?id="&C2)

 最後に「B3」セルに以下の数式をコピーして貼り付けます(読みやすいように改行とタブを入れてありますが、貼り付ける際は削除してくださいね)。「Maps Static API」の使い方は非常にシンプルで、「center」パラメーターに住所をそのまま指定してやれば最低限動くようになっています。倍率(zoom)やサイズ(size)はお好みでどうぞ。

=IMAGE("https://maps.googleapis.com/maps/api/staticmap
?zoom=17
&size=400x400
&key=<取得したAPIキー>
¢er="&ENCODEURL(D2), "法人の所在地",2)

 「Google マップ」のAPIキーの取得方法に関しては、開発者向けドキュメントを参照のこと。1カ月200米ドル分の無料枠があるそうですが、適切にAPIキーを管理しないとクラウド破産もありうるので注意してください。

【Excelに法人名を入れると、その法人番号・所在地とともに、所在地を「Google マップ」で表示】
「Google マップ」の画像について
「Google マップ」の画像をこのように使ってよいのかという疑問をお持ちの方もいると思いますが、「スクレイピングしない」「キャッシュしない」「帰属表示を削除しない」といった利用規約に反していないのであれば、基本的に問題ないでしょう。今回は公開されているAPIを利用した上で、キャッシュせずその都度URLでフェッチしています。ただし、無料の範囲を超えて何度も再読み込みをすると支払いが発生するので注意してください。また、このような仕組みを応用して構築したシステムを顧客に卸すといった大がかりなことをしたい場合(「Excel」でやるかは別として……)は、Googleに直接お問い合わせください。なお、利用の際は一般的なガイドラインも併せてご確認を。非営利的または個人的な利用であれば印刷物などにも利用できるほか、一定の範囲内であれば書籍や業務書類、販促資料などにも利用できるようです。