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)への最新為替レートを取得する例です。
- A1セルに以下のURLを入力:
"https://api.exchangerate.host/latest?base=USD&symbols=JPY"
- B1セルに以下の関数を入力:
=WEBSERVICE(A1)
- JSON形式でデータが返ってきます:
{"motd":{"msg":"..."},"success":true,"base":"USD","date":"2025-05-26","rates":{"JPY":156.78}}
FILTERXML関数と組み合わせてデータを抽出する
WEBSERVICE関数で取得したデータはXMLまたはJSON形式であることが多く、Excel単体ではそのまま扱いづらいことがあります。
XML形式の場合は、FILTERXML関数を使って特定の値を抽出できます。
例:RSSフィードからタイトルだけ抽出する
- A1セルにRSSのURLを入力:
"https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml"
- B1セルにWEBSERVICE関数:
=WEBSERVICE(A1)
- 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の可能性を広げてみましょう。