Excel

【Excel】WEBSERVICE関数の使い方|APIを利用してWebデータを取得する方法を徹底解説

Excelで外部のWeb情報(天気・為替・株価など)を自動で取り込みたいと思ったことはありませんか?
そんなときに活躍するのが、WEBSERVICE関数です。

この記事では、WEBSERVICE関数の基本的な使い方から、API連携の実例、応用テクニック、注意点までをわかりやすく解説します。


1. WEBSERVICE関数とは?

WEBSERVICE関数は、ExcelでURLからWebデータ(テキスト)を取得する関数です。
Web APIからの情報取得に対応しており、リアルタイムな外部情報をExcelで活用できます。

特徴

  • 外部のAPIサービスと連携できる

  • XMLやJSONなどのレスポンスを取得できる(テキスト形式)

  • 自動更新やデータ可視化に応用可能


2. 構文と基本的な使い方

■ 構文

=WEBSERVICE(URL)
引数 説明
URL データを取得するWeb APIのURL(文字列)

■ 例:WebページのHTMLを取得

=WEBSERVICE("https://example.com")

→ 該当ページのHTMLソースコードを返す(テキスト)


3. APIと連携した実用例

■ 為替レートを取得(例:為替API)

=WEBSERVICE("https://api.exchangerate-api.com/v4/latest/USD")

→ 米ドルの為替レート一覧(JSON形式)を取得可能


■ 天気情報を取得(OpenWeather APIなど)

=WEBSERVICE("https://api.openweathermap.org/data/2.5/weather?q=Tokyo&appid=YOUR_API_KEY")

→ 東京の天気データをJSON形式で取得(要APIキー)


4. ENCODEURL関数との併用

URLに日本語などを含む場合、ENCODEURL関数を使ってURLエンコードを行う必要があります。

=WEBSERVICE("https://api.example.com/search?query=" & ENCODEURL(A1))

→ セルA1にある日本語検索語を適切にURL化


5. 応用テクニック

● Power Queryと併用してJSONを構造化

WEBSERVICE関数単体ではテキスト形式のJSON/XMLしか取得できませんが、
Power Queryと組み合わせることで構造化されたテーブルに変換可能です。


● スプレッドシートに天気/株価/ニュースヘッドライン一覧を自動更新

  • WEBSERVICE関数でAPIからデータ取得

  • FILTERXMLやTEXT関数で内容を抽出

  • スケジュール更新やマクロで定期取得も可能


6. よくあるエラーと対処法

エラー/問題 原因 解決策
#VALUE! URLが不正、またはデータ取得に失敗 URLやパラメータを再確認
空白が返る APIが認証を要求している APIキーを取得して正しくパラメータを設定
文字化け(日本語等) 文字コード(UTF-8など)の問題 Power QueryやVBAで文字コード変換を検討
内容の一部しか見えない セルの表示文字数制限(最大約32,767文字) 複数セルに分割する、またはPower Queryを使用

7. まとめ

項目 内容
主な用途 APIやWebページからリアルタイムデータを取得
メリット プログラム不要でAPIと連携できる
注意点 結果は「文字列形式」なので構造化は別途処理が必要
おすすめ併用 ENCODEURL、FILTERXML、Power Query、JSON解析関数など
対応バージョン Excel 2013以降(Windows)

✔ 実務での活用シーン

  • 為替レートや株価情報の自動取得とグラフ化

  • 顧客のIPアドレスから地域情報を取得

  • 商品レビューや天気データの分析

  • マーケティング用ダッシュボードに外部データを埋め込み


WEBSERVICE関数は、Excelを“データ取得ツール”として活用できる非常に強力な関数です。
無料APIや社内APIを活用すれば、Excelだけで動的な業務レポートを構築することも可能です。

使いこなすためには、基本的なAPIの仕組み(URL構造やJSON/XML形式)を理解することがカギです。
まずは無料APIを使って、ExcelとWebの連携を試してみましょう!