
ExcelのWEBSERVICE関数は、インターネット上の情報を直接取得できる便利な機能です。為替や天気、株価などを自動更新でき、業務効率化に役立ちます。本記事では基本の使い方から活用例、注意点まで解説しています。
目次
Excelには、インターネット上の情報を直接取り込める便利な関数「WEBSERVICE関数」がある。為替レートや天気予報、株価などの最新データを自動で取得できるため、手作業で更新する手間を減らすことができる。
本記事では、WEBSERVICE関数の基本的な使い方から活用例、注意点までを分かりやすく解説する。
WEBSERVICE関数とは
ここではWEBSERVICE関数の特徴や実務での活用シーンを紹介する。
■WEBSERVICE関数でできること
WEBSERVICE関数は、インターネット上に公開されている情報をExcelに直接取り込むための関数である。例えば、最新の為替レートや天気予報、株価情報などをセルに表示することができる。
普段はブラウザで調べてコピー・貼り付けをしている情報を、自動的にExcelで取得できるため、作業の手間を減らせるのが大きな特徴である。
■WEBSERVICE関数の構文と引数の意味
WEBSERVICE関数の基本構文は次の通りである。
=WEBSERVICE(“URL”)
引数として指定する「URL」には、取得したいWebサービスのアドレスを入力する。例えば、天気情報のAPIや為替レートを返すサービスのURLを入力すると、その結果がセルに返される。
返される値は通常テキスト形式であるため、そのまま利用するだけでなく、必要に応じてFILTERXML関数などと組み合わせて成型することもできる。
■実務での活用シーン
WEBSERVICE関数は、日々変化するデータを自動的に反映させたい場面で役立つ。たとえば、海外との取引を行う企業であれば、ドルやユーロなどの為替レートをExcelに直接取り込むことで、コスト計算を常に最新のレートで行える。
また、小売業であれば天気予報データを取得し、天候に応じた販売予測を立てることができる。株価や商品価格など、常に更新される外部データをExcelに取り込みたいときに特に有効である。
WEBSERVICE関数の使い方
WEBSERVICE関数はURLを入力するだけで簡単に使えるが、データを整理するためにFILTERXML関数と組み合わせるとより便利である。
■WEBSERVICE関数の基本的な使い方
WEBSERVICE関数を使うときは、取得したいデータを提供しているURLを引数に指定する。例えば、為替レートを返すサービスのアドレスを入力すると、その結果がセルに表示される。
【例】米ドル(USD)に対するユーロ(EUR)レートを取得する場合
=WEBSERVICE(“http://www.floatrates.com/daily/usd.xml“)
この数式を入力すると、指定したサービスが返すドル円レートのデータがセルに表示される。取得される情報はテキスト形式であるため、そのままでは数値として使えないこともある。
簡単な使い方としては、まずはセルに返ってきた文字列を確認することから始めると理解しやすい。
■FILTERXML関数と組み合わせて情報を整理する方法
多くのWebサービスは、XML形式やJSON形式でデータを返すことが多い。WEBSERVICE関数で取得したデータはそのままだと長い文字列になりやすいため、必要な部分だけを取り出すにはFILTERXML関数を使うと便利である。
【例】XMLからドル円レートを取り出す場合
=FILTERXML(WEBSERVICE(“http://example.com/usdjpy.xml”), “//rate”)
この数式では、まずWEBSERVICE関数で為替レートのXMLデータを取得し、その中から「rate」というタグに含まれる値だけをFILTERXML関数で抽出している。こうすることで、不要なデータを省き、数値だけをセルに表示できる。
FILTERXML関数と組み合わせることで、実務でも活用しやすい形にデータを整えることが可能となる。
よくあるエラーと対処法
WEBSERVICE関数は便利である一方で、環境や接続先の仕様によって正しく動作しないことがある。ここでは代表的なエラーとその対処法を紹介する。
■HTTPとHTTPSの違いによってデータが取得できない場合
WEBSERVICE関数はHTTP接続のURLに対応しているが、HTTPS(暗号化通信)には対応していない。最近の多くのWebサービスはHTTPSを採用しているため、そのままでは取得できないことが多い。
この場合は、HTTPでアクセスできるサービスを利用するか、Power Queryなどの別機能を使ってデータを取り込む方法を検討するとよい。
■APIにアクセスできない場合
一部のWebサービスやAPIは、アクセスに制限がかかっていることがある。例えば、認証キー(APIキー)が必要な場合や、一定のアクセス回数を超えると拒否される場合である。
この場合は、サービス提供元の仕様を確認し、必要なAPIキーを取得してURLに含める、またはアクセス制限の範囲内で利用するなどの対応が必要となる。
■「#VALUE!」エラーが表示される場合
WEBSERVICE関数を実行して「#VALUE!」と表示されるのは、URLが正しく指定されていない、あるいはサービス側から有効なデータが返ってこない場合に起こる。取得したデータが非常に大きい場合もエラーの原因になる。
この場合は、URLの入力ミスがないかを確認し、サービスが正常に稼働しているかをチェックする。また、データが大きすぎる場合は、取得対象を絞れるサービスを利用するのが有効である。
■Macなど、一部の環境で使えない場合
WEBSERVICE関数はWindows版Excelには対応しているが、Mac版Excelでは利用できない。
この場合は、代替手段としてPower Queryを利用したり、VBAで外部データを取得する方法を検討するとよい。
まとめ
WEBSERVICE関数は、インターネット上の最新情報をExcelに直接取り込める便利な関数である。ブラウザでのコピー&ペースト作業を省き、自動的にデータを反映させられるため、業務効率を大幅に高めることができる。
WEBSERVICE関数の活用シーン
- 為替レートや株価など、日々変化する数値を常に最新の状態で管理したいとき
- 天気予報データを基に販売戦略や需要予測を立てたいとき
- 外部データをExcelに直接取り込み、レポートやシートを自動更新したいとき
WEBSERVICE関数の特徴
- 基本構文はシンプル: =WEBSERVICE(“URL”) で利用可能
- FILTERXML関数と併用することで、必要なデータだけを抽出できる
- HTTP接続のみ対応しているため、HTTPSには非対応
- Windows版Excelのみ使用可能(Macでは非対応)
一方で、利用にはいくつかの制約やエラーもあるため、Power QueryやVBAなど代替手段を知っておくと安心である。
総じて、WEBSERVICE関数は「外部データをExcelに取り込みたい」というニーズに応える強力な機能であり、実務に活用すればデータ管理や分析の効率化につながる。まずはシンプルな公開データから試して、少しずつ実務に応用していくのが良いだろう。
構成/編集部