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

Office Scriptsで配列JSONをテーブル化!Excel自動化とJSONデータ操作の基本

配列JSONをテーブル化するスクリプト
配列JSONをテーブル化するスクリプト

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

生徒

「Office ScriptsでJSONデータをExcelのテーブルに変換したいんですが、初心者でもできますか?」

先生

「できますよ。Office Scriptsを使えば、配列JSONを読み取ってExcelに表として自動で作成できます。」

生徒

「JSONって何ですか?なんだか難しそうです。」

先生

「JSONはデータの入れ物のようなものです。名簿の情報を整理した箱だと思ってください。それをExcelの表に並べ替えるだけなんです。」

1. Office Scriptsとは?

1. Office Scriptsとは?
1. Office Scriptsとは?

Office Scriptsは、Excel Onlineで使える自動化機能です。Excelの操作をコードで記録し、ボタン一つで同じ作業を繰り返せます。たとえば、セルに値を入力する、表を作る、データを並び替えるなどの作業を自動化できます。

Office ScriptsはTypeScriptというプログラミング言語を使います。TypeScriptはJavaScriptをもとにした言語で、Web開発でもよく使われています。難しく聞こえますが、基本は「命令を書く」だけです。

今回の記事では、配列JSONというデータ形式をExcelのテーブルに変換する方法を解説します。Excel自動化、JSON操作、データ変換といったキーワードを理解することで、業務効率化にも役立ちます。

2. JSONと配列の基本をやさしく解説

2. JSONと配列の基本をやさしく解説
2. JSONと配列の基本をやさしく解説

JSONとは、データを整理するための書き方です。名前と値をセットにして保存します。たとえば、名前が山田、年齢が二十歳、というようにまとめます。

配列とは、データを順番に並べたものです。箱が横一列に並んでいるイメージです。その箱の中にJSONが入っていると考えてください。

つまり配列JSONとは、複数人の名簿データが並んでいる状態です。このデータをExcelの表に変換すると、とても見やすくなります。

3. 配列JSONを作ってみよう

3. 配列JSONを作ってみよう
3. 配列JSONを作ってみよう

まずは簡単な配列JSONをスクリプト内で作成します。三人分の名簿データを用意します。


function main(workbook: ExcelScript.Workbook) {
  const data = [
    { name: "山田", age: 20, city: "大阪" },
    { name: "佐藤", age: 25, city: "東京" },
    { name: "鈴木", age: 22, city: "名古屋" }
  ];

  console.log(data);
}

このように波かっこで囲まれた部分がJSONです。nameやageのような部分をキー、山田や二十のような部分を値と呼びます。キーは見出し、値は中身と考えるとわかりやすいです。

4. JSONデータをセルに書き出す

4. JSONデータをセルに書き出す
4. JSONデータをセルに書き出す

次に、この配列JSONをExcelのセルに書き込みます。まずは一行ずつ書き込む方法です。


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

  const data = [
    { name: "山田", age: 20, city: "大阪" },
    { name: "佐藤", age: 25, city: "東京" }
  ];

  sheet.getRange("A1").setValue("名前");
  sheet.getRange("B1").setValue("年齢");
  sheet.getRange("C1").setValue("都市");

  for (let i = 0; i < data.length; i++) {
    sheet.getRange("A" + (i + 2)).setValue(data[i].name);
    sheet.getRange("B" + (i + 2)).setValue(data[i].age);
    sheet.getRange("C" + (i + 2)).setValue(data[i].city);
  }
}

for文は繰り返し処理です。同じ作業を何度も行うときに使います。名簿を一人ずつ表に書いていくイメージです。

5. 配列JSONをまとめてテーブル化する方法

5. 配列JSONをまとめてテーブル化する方法
5. 配列JSONをまとめてテーブル化する方法

次は、より実用的な方法です。配列JSONを二次元配列に変換して、一度に書き込みます。そのあとテーブルに変換します。


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

  const data = [
    { name: "山田", age: 20, city: "大阪" },
    { name: "佐藤", age: 25, city: "東京" },
    { name: "鈴木", age: 22, city: "名古屋" }
  ];

  const headers = ["名前", "年齢", "都市"];
  const rows = data.map(item => [item.name, item.age, item.city]);

  sheet.getRange("A1:C1").setValues([headers]);
  sheet.getRange("A2:C4").setValues(rows);

  const table = sheet.addTable("A1:C4", true);
  table.setName("名簿テーブル");
}

mapは配列の中身を別の形に変換する機能です。ここではJSONをExcel用の行データに変えています。addTableを使うことで、Excelの正式なテーブルとして登録できます。テーブル化すると並び替えやフィルター機能が使えます。

6. データ件数が変わる場合の自動対応

6. データ件数が変わる場合の自動対応
6. データ件数が変わる場合の自動対応

実務ではデータ件数が毎回変わります。その場合は範囲を自動計算します。


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

  const data = [
    { name: "高橋", age: 30, city: "福岡" },
    { name: "伊藤", age: 28, city: "札幌" }
  ];

  const headers = ["名前", "年齢", "都市"];
  const rows = data.map(item => [item.name, item.age, item.city]);

  const lastRow = data.length + 1;
  const rangeAddress = "A1:C" + lastRow;

  sheet.getRange("A1:C1").setValues([headers]);
  sheet.getRange("A2:C" + lastRow).setValues(rows);

  sheet.addTable(rangeAddress, true);
}

dataの長さを使って最終行を計算しています。これにより人数が増減しても自動で対応できます。これがExcel自動化の大きなメリットです。

7. Office ScriptsでJSONを扱うメリット

7. Office ScriptsでJSONを扱うメリット
7. Office ScriptsでJSONを扱うメリット

Office ScriptsでJSONデータを扱えるようになると、外部システムのデータをExcelに取り込む処理が簡単になります。業務効率化、データ整理、自動レポート作成など、さまざまな場面で活用できます。

JSON操作、配列処理、テーブル作成という基本を理解すれば、応用も広がります。難しく見えるコードも、一つずつ読むと単なる命令の集まりです。

Excel自動化やOffice Scripts入門として、まずは配列JSONをテーブル化するスクリプトを何度も試してみてください。実際に手を動かすことで理解が深まります。

まとめ

まとめ
まとめ

今回はOffice Scriptsを使って配列JSONをExcelのテーブルに変換する方法を学びました。Office ScriptsはExcel自動化を実現する強力な機能であり、繰り返し作業や名簿作成、データ整理、レポート作成といった業務効率化に大きく役立ちます。特にJSONデータ操作と配列処理を理解することで、外部システムから取得したデータをExcelへ取り込み、テーブル化し、分析可能な状態に整える流れが見えてきました。

配列JSONとは、複数のデータを順番にまとめた構造です。JSONはキーと値の組み合わせで構成され、配列はそのJSONを横並びに格納します。この仕組みを理解すると、データ変換やExcel出力がぐっと簡単になります。今回の記事では、for文による繰り返し処理、mapを使った二次元配列への変換、addTableによるテーブル化、そしてデータ件数に応じた範囲自動計算までを段階的に解説しました。

Office ScriptsとTypeScriptの基本文法に慣れることは、Excel自動化の第一歩です。getRangeでセル範囲を指定し、setValueやsetValuesでデータを書き込み、addTableでテーブルを生成する。この一連の流れは、JSONデータをExcelへ出力する際の定番パターンです。特にrows配列をmapで生成する考え方は、JSON操作の基本として今後も頻繁に登場します。

また、data.lengthを使って最終行を計算する方法は実務で非常に重要です。データ件数が毎回異なる場合でも、スクリプトが自動対応できるため、手動修正が不要になります。これはExcel自動化の大きなメリットであり、業務効率化や作業時間短縮に直結します。

重要ポイントの整理

・Office ScriptsはExcel Onlineで使える自動化機能 ・JSONはキーと値で構成されたデータ形式 ・配列JSONは複数データをまとめた構造 ・mapで二次元配列に変換できる ・addTableでExcelテーブルを作成できる ・data.lengthで件数自動対応が可能

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


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

  const data = [
    { name: "中村", age: 27, city: "京都" },
    { name: "小林", age: 31, city: "横浜" },
    { name: "加藤", age: 24, city: "神戸" }
  ];

  const headers = ["名前", "年齢", "都市"];
  const rows = data.map(item => [item.name, item.age, item.city]);

  const lastRow = data.length + 1;
  const rangeAddress = "A1:C" + lastRow;

  sheet.getRange("A1:C1").setValues([headers]);
  sheet.getRange("A2:C" + lastRow).setValues(rows);

  const table = sheet.addTable(rangeAddress, true);
  table.setName("社員テーブル");
}

このように配列JSONを二次元配列へ変換し、まとめて書き込み、テーブル化する流れを身につけることで、Excel自動化とJSONデータ操作の基本はしっかり理解できます。まずは少人数のデータで練習し、次に件数を増やして試すことで理解が深まります。

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

生徒

「Office Scriptsで配列JSONをテーブル化する流れがやっと分かりました。JSONを二次元配列に変換してからExcelに書き込むのがポイントなんですね。」

先生

「その通りです。JSONデータ操作と配列処理が理解できれば、Excel自動化は難しくありません。mapを使った変換とaddTableによるテーブル作成が重要です。」

生徒

「dataの長さから最終行を計算する方法も実務で役立ちそうです。これならデータ件数が変わっても安心ですね。」

先生

「まさにそこが自動化の強みです。Office Scripts入門として、配列JSONのテーブル化はとても良い練習になります。繰り返し試して、Excel自動化とJSON操作の基礎をしっかり身につけましょう。」

カテゴリの一覧へ
新着記事
New1
Excel VBA
ExcelマクロとVBAの違いとは?初心者でもわかる自動化の基本と仕組みを徹底解説
New2
Office Scripts
Office ScriptsでExcelのシート保護を自動化!ワークシート保護・解除をスクリプトで制御する方法
New3
Office Scripts
Office Scriptsの基本!Excel自動化で使う関数とコードの書き方
New4
Excel VBA
Excel VBAの変数とは?宣言・型指定・初期値の基本をやさしく解説
人気記事
No.1
Java&Spring記事人気No1
Excel VBA
Excel VBAモジュール共有術!複数のブックでマクロを使い回す最適構成
No.2
Java&Spring記事人気No2
Excel VBA
Excel VBAのプロジェクト構成とモジュール管理!標準・シート・ThisWorkbookの違い
No.3
Java&Spring記事人気No3
Excel VBA
個人用マクロブック(PERSONAL.XLSB)で作る最強の共通ライブラリ化ガイド
No.4
Java&Spring記事人気No4
Excel VBA
Excel VBAのループ処理を徹底解説!For文とDo Loopで繰り返しを自動化
No.5
Java&Spring記事人気No5
Excel VBA
Excel VBA参照設定エラー「参照が見つかりません」を完全解説!初心者でも原因と対処法がわかる
No.6
Java&Spring記事人気No6
Office Scripts
Office Scriptsの基本!関数分割で読みやすいExcel自動化コードを設計する方法
No.7
Java&Spring記事人気No7
Excel VBA
Excel VBAの開発環境を最速で整える!VBEの開き方から基本操作まで完全ガイド
No.8
Java&Spring記事人気No8
Office Scripts
Office Scriptsの基本!なぜTypeScriptを使うのか?Excel自動化のための目的をやさしく解説