Excelで外部のWeb情報(天気・為替・株価など)を自動で取り込みたいと思ったことはありませんか?
そんなときに活躍するのが、WEBSERVICE関数です。
この記事では、WEBSERVICE関数の基本的な使い方から、API連携の実例、応用テクニック、注意点までをわかりやすく解説します。
1. WEBSERVICE関数とは?
WEBSERVICE関数は、ExcelでURLからWebデータ(テキスト)を取得する関数です。
Web APIからの情報取得に対応しており、リアルタイムな外部情報をExcelで活用できます。
特徴
-
外部のAPIサービスと連携できる
-
XMLやJSONなどのレスポンスを取得できる(テキスト形式)
-
自動更新やデータ可視化に応用可能
2. 構文と基本的な使い方
■ 構文
引数 | 説明 |
---|---|
URL | データを取得するWeb APIのURL(文字列) |
■ 例:WebページのHTMLを取得
→ 該当ページのHTMLソースコードを返す(テキスト)
3. APIと連携した実用例
■ 為替レートを取得(例:為替API)
→ 米ドルの為替レート一覧(JSON形式)を取得可能
■ 天気情報を取得(OpenWeather APIなど)
→ 東京の天気データをJSON形式で取得(要APIキー)
4. ENCODEURL関数との併用
URLに日本語などを含む場合、ENCODEURL関数を使ってURLエンコードを行う必要があります。
→ セル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の連携を試してみましょう!