カテゴリ: Office Scripts 更新日: 2026/04/06

Office ScriptsでExcelテーブル(ListObject)を操作する方法|Excel自動化・API基礎をやさしく解説

テーブル(ListObject)を操作する方法
テーブル(ListObject)を操作する方法

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

生徒

「Office ScriptsでExcelのテーブルを自動化したいです。ListObjectって何ですか?」

先生

「Excelの“表”をプログラムから操作できる機能です。Office Scriptsを使えば、テーブルの追加や行の登録、削除も自動でできます。」

生徒

「マクロみたいなものですか?」

先生

「似ていますが、Office ScriptsはExcel Onlineで使える自動化機能で、TypeScriptという言語で書きます。クラウド上で安全に動かせるのが特徴です。」

生徒

「初心者でもできますか?」

先生

「大丈夫です。まずはテーブルの基本操作から一緒に学びましょう。」

1. Office Scriptsとは?

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

Office Scriptsは、Excel Onlineで使えるExcel自動化ツールです。ブラウザ上のExcelで「自動化」タブからスクリプトを作成し、ボタン一つで処理を実行できます。Excelマクロと似ていますが、クラウド環境で動く点が特徴です。

使用する言語はTypeScriptです。TypeScriptとは、JavaScriptをもとにしたプログラミング言語で、初心者でも比較的読みやすい文法になっています。難しそうに感じるかもしれませんが、実際は「Excelの操作を文章で書く」イメージです。

この記事では、Excelテーブル操作、ListObject操作、行追加、列取得、データ取得といったキーワードを中心に、Office Scripts APIの基礎を解説します。

2. テーブル(ListObject)とは?

2. テーブル(ListObject)とは?
2. テーブル(ListObject)とは?

テーブルとは、Excelで「挿入」→「テーブル」を押して作る、見出し付きの表のことです。並び替えやフィルターが自動で使える便利な表です。

Office Scriptsでは、このテーブルをListObjectというAPIで操作します。APIとは、アプリを操作するための命令セットのことです。リモコンのボタンのようなものだと考えてください。

つまり、ListObjectは「Excelの表を動かすためのリモコン」です。

3. テーブルを新しく作成する方法

3. テーブルを新しく作成する方法
3. テーブルを新しく作成する方法

まずはExcelシートにテーブルを作成してみましょう。以下のコードは、A1からB3までの範囲をテーブルとして登録します。


function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getActiveWorksheet();
  const range = sheet.getRange("A1:B3");
  range.setValues([
    ["名前", "年齢"],
    ["田中", 25],
    ["佐藤", 30]
  ]);

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

addTableの第二引数trueは「1行目を見出しにする」という意味です。これでExcelテーブルが自動生成されます。

4. テーブルに行を追加する方法

4. テーブルに行を追加する方法
4. テーブルに行を追加する方法

次に、既存のテーブルに新しいデータを追加します。毎日データを追加する業務にも活用できます。


function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getActiveWorksheet();
  const table = sheet.getTable("社員テーブル");

  table.addRow(-1, ["鈴木", 28]);
}

-1は「一番下に追加する」という意味です。Excel自動化では、このようにボタン一つでデータ登録が可能になります。

5. テーブルのデータを取得する方法

5. テーブルのデータを取得する方法
5. テーブルのデータを取得する方法

テーブルの中身を取得する方法も重要です。データ分析や自動処理の基礎になります。


function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getActiveWorksheet();
  const table = sheet.getTable("社員テーブル");

  const range = table.getRangeBetweenHeaderAndTotal();
  const values = range.getValues();

  console.log(values);
}

getRangeBetweenHeaderAndTotalは、見出しと合計行を除いたデータ部分を取得します。


[["田中",25],
 ["佐藤",30],
 ["鈴木",28]]

このように配列形式でデータが取得できます。配列とは、データを並べた箱のようなものです。

6. 特定の列を取得する方法

6. 特定の列を取得する方法
6. 特定の列を取得する方法

列単位でデータを扱うことも可能です。例えば年齢だけを取り出したい場合です。


function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getActiveWorksheet();
  const table = sheet.getTable("社員テーブル");

  const ageColumn = table.getColumnByName("年齢");
  const ageValues = ageColumn.getRangeBetweenHeaderAndTotal().getValues();

  console.log(ageValues);
}

[[25],
 [30],
 [28]]

このようにOffice Scripts APIを使えば、Excelテーブル操作がとても簡単に実現できます。

7. テーブルの行を削除する方法

7. テーブルの行を削除する方法
7. テーブルの行を削除する方法

不要なデータを削除する処理も自動化できます。手作業で削除する必要はありません。


function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getActiveWorksheet();
  const table = sheet.getTable("社員テーブル");

  table.deleteRowsAt(0, 1);
}

deleteRowsAtは「何行目から何行削除するか」を指定します。これにより業務効率化が可能になります。

8. Office Scriptsでテーブル操作を自動化するメリット

8. Office Scriptsでテーブル操作を自動化するメリット
8. Office Scriptsでテーブル操作を自動化するメリット

Office Scriptsを使ったExcelテーブル自動化には多くのメリットがあります。繰り返し作業の削減、入力ミス防止、データ処理の高速化などが代表例です。

特に業務効率化やDX推進の現場では、Excel自動化は非常に重要です。ListObject操作を理解すれば、売上管理、顧客管理、在庫管理など多くの業務で応用できます。

初心者の方は、まずはテーブル作成、行追加、データ取得の三つを確実に理解しましょう。それだけでも十分にExcel自動化の基礎は身につきます。

まとめ

まとめ
まとめ

今回は、Office Scriptsを使ってExcelテーブルを操作する方法について、基礎から順番に学びました。Office Scriptsは、Excel Onlineで動作する自動化機能であり、TypeScriptという言語を使ってExcelの操作をプログラムで記述できる仕組みです。従来のマクロとは異なり、クラウド環境で安全に実行できる点が大きな特徴です。

Excelテーブルは、見出し付きの表として管理できる便利な機能であり、Office ScriptsではListObjectとして扱われます。ListObjectを利用することで、テーブルの作成、行の追加、列の取得、データの読み取り、行の削除といった操作を柔軟に制御できます。これにより、売上管理表や顧客管理表、在庫管理表などの業務データを効率的に処理できます。

テーブルを新規作成する場合はaddTableを使用し、既存のテーブルを取得する場合はgetTableを利用します。また、addRowを使えば最下部にデータを自動追加でき、getRangeBetweenHeaderAndTotalを使えばデータ部分のみを安全に取得できます。さらに、getColumnByNameを活用すれば、特定の列だけを抽出することも可能です。

Excel自動化において重要なのは、「どの範囲を対象にしているのか」「見出しを含むのか除外するのか」を正しく理解することです。Office Scripts APIは直感的に設計されているため、メソッド名を読むだけでも意味が推測できます。これは初心者にとって大きな利点です。

業務効率化を実現するためには、単にコードを書くのではなく、日々の繰り返し作業をどのように自動化できるかを考えることが重要です。例えば、毎日の売上データを自動追加する処理や、特定条件のデータだけを抽出する処理なども応用可能です。Office ScriptsとExcelテーブルを組み合わせることで、手作業を減らし、入力ミスを防止し、作業時間を短縮できます。

まずは基本操作であるテーブル作成、行追加、データ取得、列取得、行削除を確実に理解しましょう。この基礎が身につけば、より高度なデータ分析や自動レポート作成にも発展できます。Excel自動化の第一歩として、Office Scriptsのテーブル操作は非常に有効です。

サンプル総合プログラム


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

  const range = sheet.getRange("A1:B2");
  range.setValues([
    ["商品名", "価格"],
    ["りんご", 100]
  ]);

  const table = sheet.addTable("A1:B2", true);
  table.setName("商品テーブル");

  table.addRow(-1, ["みかん", 120]);

  const dataRange = table.getRangeBetweenHeaderAndTotal();
  const values = dataRange.getValues();
  console.log(values);
}

[["りんご",100],
 ["みかん",120]]
先生と生徒の振り返り会話

生徒

「Office ScriptsでExcelテーブルを操作する流れがよく分かりました。ListObjectはテーブルを操作するための仕組みなんですね。」

先生

「その通りです。Excelテーブルをプログラムで扱うための窓口がListObjectです。addTableやaddRow、getTableなどの基本操作を覚えれば、ほとんどの業務自動化に応用できます。」

生徒

「行追加や列取得も簡単でした。繰り返しの入力作業を自動化できそうです。」

先生

「良い視点ですね。Excel自動化の本質は、繰り返し作業の削減と正確性の向上です。テーブル操作を理解した今、次は条件分岐や集計処理にも挑戦してみましょう。」

生徒

「まずは基本をしっかり復習して、Excelテーブル操作を自分の業務に活かしてみます。」

先生

「それが一番大切です。基礎を固めれば応用は自然に広がります。Office ScriptsでのExcel自動化を、ぜひ実務で活用してください。」

カテゴリの一覧へ
新着記事
New1
Office Scripts
Office ScriptsでExcelテーブル(ListObject)を操作する方法|Excel自動化・API基礎をやさしく解説
New2
Office Scripts
Office Scriptsの基本!Excel自動化で使う関数とコードの書き方
New3
Excel VBA
Excel VBAの命名規則ガイド!モジュール・変数・プロシージャの統一方法
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
Excel VBA参照設定エラー「参照が見つかりません」を完全解説!初心者でも原因と対処法がわかる
No.4
Java&Spring記事人気No4
Excel VBA
ThisWorkbookに書くべき処理とは?VBAプロジェクトの正しい構成方法
No.5
Java&Spring記事人気No5
Excel VBA
VBAモジュールを安全にエクスポート・インポートする方法と注意点
No.6
Java&Spring記事人気No6
Excel VBA
Excel VBAのブレークポイント設定と使い方!初心者でも理解できるデバッグの基本
No.7
Java&Spring記事人気No7
Office Scripts
Office Scriptsの基本!関数分割で読みやすいExcel自動化コードを設計する方法
No.8
Java&Spring記事人気No8
Excel VBA
Excel VBAのループ処理を徹底解説!For文とDo Loopで繰り返しを自動化