Categories: excel

ExcelのWebservice関数とは?API連携や外部データ取得の活用法を徹底解説

Excelは表計算ソフトとして高機能であり、データの計算や整理に優れたツールですが、実は外部のWebサービスと連携してリアルタイムな情報を取得することもできます。
その機能を実現するのが「WEBSERVICE関数」です。為替レートや天気予報、株価情報など、Web APIを通じてさまざまなデータをExcel内で扱えるようになるため、業務の効率化や自動化にも役立ちます。
本記事では、WEBSERVICE関数の基本的な使い方から、実践的な活用例、注意点までをわかりやすく解説します。


WEBSERVICE関数とは?

WEBSERVICE関数は、Excelに組み込まれている外部データ取得用の関数です。
指定したURL(Web APIなど)からデータを取得し、Excelセルに表示させることができます。

=WEBSERVICE("URL")

この関数は、APIやWeb上のXML/JSONデータを取得してExcelで活用する場面で使用されます。特にMicrosoft 365やExcel 2013以降のバージョンで使用可能です。


WEBSERVICE関数の基本構文と使い方

構文は非常にシンプルです。

=WEBSERVICE(url)

引数の説明:

  • url:データを取得したいWebアドレス。文字列またはセル参照が可能です。

例:

=WEBSERVICE("https://api.exchangerate.host/latest?base=USD&symbols=JPY")

上記のように為替情報のAPIを指定することで、最新の為替レートをExcelに取り込むことができます。


WEBSERVICE関数で取得できるデータの種類

Webサービスによって取得できる情報は異なりますが、主に次のようなデータが対象です:

  • 為替レート情報(例:USD→JPY)
  • 天気予報(例:OpenWeatherMap API)
  • 株価情報(例:Yahoo Finance API)
  • ニュースの見出しやRSSフィード
  • 地域情報(緯度・経度など)

これらのデータを自動的に取り込み、Excel内でグラフや表として可視化することも可能です。


WEBSERVICE関数の実践例:為替レートを取得する

以下は、米ドル(USD)から日本円(JPY)への最新為替レートを取得する例です。

  1. A1セルに以下のURLを入力:
"https://api.exchangerate.host/latest?base=USD&symbols=JPY"
  1. B1セルに以下の関数を入力:
=WEBSERVICE(A1)
  1. JSON形式でデータが返ってきます:
{"motd":{"msg":"..."},"success":true,"base":"USD","date":"2025-05-26","rates":{"JPY":156.78}}

FILTERXML関数と組み合わせてデータを抽出する

WEBSERVICE関数で取得したデータはXMLまたはJSON形式であることが多く、Excel単体ではそのまま扱いづらいことがあります。
XML形式の場合は、FILTERXML関数を使って特定の値を抽出できます。

例:RSSフィードからタイトルだけ抽出する

  1. A1セルにRSSのURLを入力:
"https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml"
  1. B1セルにWEBSERVICE関数:
=WEBSERVICE(A1)
  1. C1セルにFILTERXML関数でタイトル抽出:
=FILTERXML(B1, "//item/title")

JSONデータを扱う方法(補足)

ExcelではJSONデータを直接解析する関数がないため、VBAやPower Queryを使ってJSONを整形・解析する必要があります。
また、Microsoft 365では「Power Query」の機能を利用すれば、JSONをテーブル形式で簡単に取り込めます。


WEBSERVICE関数の注意点

1. 日本語のURLに注意

URLに日本語が含まれていると、関数が正しく動作しないことがあります。エンコード処理(ENCODEURL関数)が必要な場合があります。

2. JSONの取り扱いが困難

Excel標準の関数だけではJSON形式を解析できないため、VBAやPower Queryの活用が重要になります。

3. セキュリティ制限

企業ネットワークやファイアウォールで外部接続が制限されていると、WEBSERVICE関数が機能しない場合があります。

4. セルに表示される文字数制限

セルに表示できる文字数には制限があるため、大量データを一気に取得すると文字列が切れてしまいます。


WEBSERVICE関数の活用シーン

  • 経理・財務:為替レートの自動取得で海外取引の換算作業を効率化。
  • マーケティング:ニュース記事の最新見出しを自動表示し、トレンド分析。
  • 物流・天気:天候情報を自動取得して配送計画に反映。
  • 営業:株価情報をリアルタイムで参照し、提案資料に活用。

WEBSERVICE関数が使えない場合の代替手段

Power Queryを使う

より高度なデータ取得・加工には「Power Query」が便利です。JSON形式のAPIレスポンスを表形式に変換できるため、WEBSERVICE関数よりも柔軟です。

VBA(マクロ)を使う

複雑なデータ処理や繰り返し取得処理にはVBAが適しています。HTTPリクエストを発行し、レスポンスを整形してシートに書き込むコードを組むことができます。


まとめ

WEBSERVICE関数は、ExcelとWebの世界をつなぐ便利な関数です。正しい使い方をマスターすれば、外部データを簡単にExcelに取り込むことができ、業務の自動化やレポート作成の効率化につながります。
ただし、JSONの解析やセキュリティ制限といった課題もあるため、FILTERXML関数、Power Query、VBAなどの補完手段と組み合わせて使うことが現実的です。
まずはシンプルなAPIから試して、Excelの可能性を広げてみましょう。

upandup

Web制作の記事を中心に、暮らし、ビジネスに役立つ情報を発信します。 アフィリエイトにも参加しています。よろしくお願いいたします。