カテゴリ: Office Scripts 更新日: 2026/03/19

Office Scripts×外部API連携!fetchで取得したデータをExcelに自動反映する方法【初心者向け完全ガイド】

APIから取得したデータをExcel反映
APIから取得したデータをExcel反映

先生と生徒の会話形式で理解しよう

生徒

「Office Scriptsで外部APIからデータを取得して、Excelに自動で入力することはできますか?」

先生

「できますよ。fetchというHTTP通信の仕組みを使えば、APIからデータを取得してExcelに自動反映できます。」

生徒

「APIとかHTTPって難しそうです…パソコンもあまり触ったことがないんですが大丈夫ですか?」

先生

「大丈夫です。インターネットから情報を取り寄せて、Excelのセルに書き込むだけのイメージです。一緒にゆっくり見ていきましょう。」

1. Office Scriptsで外部API連携とは?

1. Office Scriptsで外部API連携とは?
1. Office Scriptsで外部API連携とは?

Office Scriptsとは、Excel Onlineで使える自動化機能です。Excelの作業をコードで自動化できるため、繰り返し作業やデータ入力を効率化できます。

外部API連携とは、インターネット上にあるサービスからデータを取得する仕組みです。APIとは「アプリケーション同士をつなぐ窓口」のようなものです。例えば、天気情報APIや為替レートAPIから最新データを取得し、Excelに自動入力することができます。

fetchは、HTTP通信を行うための命令です。HTTPとはインターネットでデータをやり取りするルールのことです。難しく考えなくて大丈夫です。「インターネットにお願いしてデータを取ってくる」命令だと思ってください。

2. fetchでAPIからデータを取得する基本コード

2. fetchでAPIからデータを取得する基本コード
2. fetchでAPIからデータを取得する基本コード

まずは、APIからデータを取得する最も基本的なOffice Scriptsのコードを見てみましょう。ここではサンプルAPIからJSONデータを取得します。


async function main(workbook: ExcelScript.Workbook) {
  const response = await fetch("https://jsonplaceholder.typicode.com/todos/1");
  const data = await response.json();
  
  console.log(data);
}

asyncやawaitは、データの取得が終わるまで待つための仕組みです。インターネット通信は少し時間がかかるため、順番を守って処理する必要があります。

response.json()は、取得したデータを扱いやすい形式に変換する処理です。JSONとは、データの書き方のルールの一つです。

3. APIから取得したデータをExcelのセルに反映する方法

3. APIから取得したデータをExcelのセルに反映する方法
3. APIから取得したデータをExcelのセルに反映する方法

次は、取得したデータをExcelのセルに書き込んでみましょう。これが「Excel自動反映」の基本です。


async function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getActiveWorksheet();
  const response = await fetch("https://jsonplaceholder.typicode.com/todos/1");
  const data = await response.json();

  sheet.getRange("A1").setValue("タイトル");
  sheet.getRange("B1").setValue(data.title);
}

getActiveWorksheetは、今開いているシートを取得する命令です。getRangeはセルを指定する命令です。setValueでセルに値を書き込みます。

これで、APIのデータがExcelに自動入力されます。手作業でコピーする必要はありません。

4. 複数データをExcel表に自動入力する方法

4. 複数データをExcel表に自動入力する方法
4. 複数データをExcel表に自動入力する方法

APIから複数のデータを取得し、表形式でExcelに反映することも可能です。データ一覧を自動取得してExcelに一覧表示できます。


async function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getActiveWorksheet();
  const response = await fetch("https://jsonplaceholder.typicode.com/users");
  const users = await response.json();

  sheet.getRange("A1").setValue("名前");
  sheet.getRange("B1").setValue("メール");

  for (let i = 0; i < users.length; i++) {
    sheet.getRange(`A${i+2}`).setValue(users[i].name);
    sheet.getRange(`B${i+2}`).setValue(users[i].email);
  }
}

for文は繰り返し処理です。同じ作業を何回も自動で行います。これにより、大量データを一瞬でExcelに反映できます。

5. エラー対策も含めた安全なAPI連携

5. エラー対策も含めた安全なAPI連携
5. エラー対策も含めた安全なAPI連携

インターネット通信ではエラーが起きる可能性もあります。そのため、エラーハンドリングも大切です。


async function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getActiveWorksheet();

  try {
    const response = await fetch("https://jsonplaceholder.typicode.com/posts/1");
    
    if (!response.ok) {
      throw new Error("通信エラー");
    }

    const data = await response.json();
    sheet.getRange("A1").setValue(data.title);

  } catch (error) {
    sheet.getRange("A1").setValue("データ取得に失敗しました");
  }
}

tryとcatchは、エラーが発生した場合の保険のようなものです。response.okは通信が成功したか確認する命令です。

6. Office ScriptsでAPI自動取得を活用するメリット

6. Office ScriptsでAPI自動取得を活用するメリット
6. Office ScriptsでAPI自動取得を活用するメリット

Office Scriptsと外部API連携を組み合わせることで、最新情報を自動取得しExcelに自動反映できます。例えば、売上データ、在庫情報、天気情報、ニュースデータなどを自動取得できます。

Excel自動化、API連携、fetchによるHTTP通信、JSONデータ取得、Excel自動入力といった技術を組み合わせることで、業務効率化や作業時間短縮が実現できます。

初心者でも、まずはセルに値を書き込む基本から理解し、次にfetchでデータ取得、最後にExcel反映という順番で学ぶことで、確実にスキルアップできます。

まとめ

まとめ
まとめ

今回は、Office Scriptsと外部API連携を組み合わせて、fetchによるHTTP通信で取得したJSONデータをExcelに自動反映する方法を学びました。Office ScriptsはExcel Onlineで使える自動化機能であり、繰り返し作業の効率化やデータ入力の自動化に非常に強力な仕組みです。特に、外部APIから最新データを取得し、Excelのセルへ自動入力できる点は、業務効率化や作業時間短縮に大きく貢献します。

fetchを使ったHTTP通信の基本では、asyncやawaitを活用して通信完了を待つ処理を行いました。インターネット経由でデータを取得する場合、処理の順番を正しく制御することが重要です。response.jsonでJSON形式のデータを扱いやすい形に変換し、そのデータをgetRangeとsetValueを使ってExcelのセルへ書き込みました。これにより、手作業でコピー貼り付けをする必要がなくなり、自動化されたデータ取得と自動反映が実現しました。

また、for文を使った繰り返し処理によって、複数データを一覧形式でExcelに自動入力する方法も確認しました。大量データを一括で処理できることは、Excel自動化の大きなメリットです。さらに、tryとcatchを使ったエラーハンドリングによって、安全なAPI連携を実装しました。通信エラーやサーバーエラーが発生しても、適切なメッセージを表示することで、実務で安心して使える仕組みになります。

Office Scriptsによる外部API連携、fetchによるHTTP通信、JSONデータ取得、Excel自動入力、エラーハンドリングという一連の流れを理解することで、初心者でも段階的にスキルを高めることができます。まずはセルに値を書き込む基本操作を身につけ、その後にAPIデータ取得、そして複数データ処理へと進むことで、確実に理解が深まります。

サンプルプログラム総復習

ここで、APIからデータを取得し、エラー対策を行いながらExcelへ自動反映する流れをもう一度確認してみましょう。


async function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getActiveWorksheet();

  try {
    const response = await fetch("https://jsonplaceholder.typicode.com/users");

    if (!response.ok) {
      throw new Error("通信エラー");
    }

    const users = await response.json();

    sheet.getRange("A1").setValue("名前");
    sheet.getRange("B1").setValue("メール");

    for (let i = 0; i < users.length; i++) {
      sheet.getRange(`A${i+2}`).setValue(users[i].name);
      sheet.getRange(`B${i+2}`).setValue(users[i].email);
    }

  } catch (error) {
    sheet.getRange("A1").setValue("データ取得に失敗しました");
  }
}

このコードには、Office Scriptsの基本操作、fetchによるHTTP通信、JSONデータ処理、for文による繰り返し処理、tryとcatchによるエラーハンドリングがすべて含まれています。実際の業務では、売上管理、在庫管理、顧客情報取得、天気情報取得、為替レート取得など、さまざまな用途に応用できます。

先生と生徒の振り返り会話

生徒

「Office Scriptsと外部API連携を組み合わせると、Excel自動化がここまでできるとは思いませんでした。」

先生

「そうですね。fetchによるHTTP通信を理解すれば、インターネット上のデータをExcelへ自動反映できます。」

生徒

「asyncやawaitは難しく感じましたが、順番を守るための仕組みだと分かりました。」

先生

「その理解はとても大切です。JSONデータ取得とExcelセル入力を組み合わせることで、業務効率化が実現します。」

生徒

「for文を使えば複数データも自動入力できるので、大量データ処理にも使えますね。」

先生

「その通りです。さらにエラーハンドリングを入れることで、安全なAPI連携が可能になります。」

生徒

「Office Scripts、Excel自動化、外部API連携、fetch、HTTP通信、JSON処理の流れがつながりました。」

先生

「基礎を丁寧に積み重ねれば、初心者でも確実にスキル向上できます。まずは小さな自動化から始めてみましょう。」

カテゴリの一覧へ
新着記事
New1
Office Scripts
Office Scriptsの基本!企業環境で安全にExcel自動化を使うための利用制限と管理者設定
New2
Office Scripts
Office Scriptsの基本!TypeScriptの型注釈を理解してExcel自動化を安全に書く方法
New3
Office Scripts
Office Scriptsの基本!Excel自動化で使うgetValues・setValues完全ガイド【初心者向け】
New4
Office Scripts
Office Scriptsの基本!エラー表示とログ確認でExcel自動化を安全に進める方法
人気記事
No.1
Java&Spring記事人気No1
Excel VBA
Excel VBAモジュール共有術!複数のブックでマクロを使い回す最適構成
No.2
Java&Spring記事人気No2
Excel VBA
個人用マクロブック(PERSONAL.XLSB)で作る最強の共通ライブラリ化ガイド
No.3
Java&Spring記事人気No3
Excel VBA
Excel VBAのプロジェクト構成とモジュール管理!標準・シート・ThisWorkbookの違い
No.4
Java&Spring記事人気No4
Excel VBA
VBAモジュールを安全にエクスポート・インポートする方法と注意点
No.5
Java&Spring記事人気No5
Excel VBA
ThisWorkbookに書くべき処理とは?VBAプロジェクトの正しい構成方法
No.6
Java&Spring記事人気No6
Excel VBA
Excel VBAのループ処理を徹底解説!For文とDo Loopで繰り返しを自動化
No.7
Java&Spring記事人気No7
Excel VBA
Excel VBAのブレークポイント設定と使い方!初心者でも理解できるデバッグの基本
No.8
Java&Spring記事人気No8
Office Scripts
Office Scriptsの基本!関数分割で読みやすいExcel自動化コードを設計する方法