Office Scriptsの基本!Excel自動化で使う関数とコードの書き方
生徒
「Excelの行が何百行もあると、同じ操作を何度もするのが大変です…」
先生
「それを一気に処理できるのが、ループ処理という考え方ですよ。」
生徒
「ループって、同じことを繰り返す仕組みですか?」
先生
「その通りです。Office Scriptsではforやfor…ofを使ってExcel操作を自動化できます。」
1. Office Scriptsとは?
Office Scriptsは、Excel Onlineで使えるExcel自動化の仕組みです。 セル入力、行や列の処理、データの整理などを、TypeScriptのコードでまとめて実行できます。
特に行数が多いExcelファイルでは、ループ処理を使うことで、 人が1行ずつ操作していた作業を一瞬で終わらせられます。
2. ループ処理とは何かをやさしく理解する
ループ処理とは、「同じ作業を決められた回数だけ繰り返す」仕組みです。 例えるなら、スタンプを1枚ずつ順番に押していく作業と似ています。
Excelで言えば、「1行目から10行目まで同じ処理をする」といった操作が、 ループ処理の得意分野です。
3. for文の基本とExcel操作への応用
for文は、「何回繰り返すか」が決まっているときに使います。 行番号を使ってセルを順番に処理する場合にとても便利です。
function main(workbook: ExcelScript.Workbook) {
const sheet = workbook.getActiveWorksheet();
for (let i = 1; i <= 5; i++) {
sheet.getRange(`A${i}`).setValue("チェック済み");
}
}
このコードでは、A1からA5までのセルに同じ文字を順番に書き込みます。 人が1セルずつ入力する必要はありません。
4. for文は行番号を扱うときに強い
for文は、行番号や列番号を数で管理するのが得意です。 「何行目から何行目まで」といった指定がある処理に向いています。
Excelの行数が決まっている帳票や、固定フォーマットの表では、 for文を使うことで処理を簡単に書けます。
5. for…of文とは何かを理解する
for…of文は、「配列の中身を1つずつ取り出す」ためのループ処理です。 行番号を意識せず、データそのものを順番に扱えます。
Excelの表データを配列として扱う場合に、とても読みやすい書き方になります。
6. for…of文を使ったExcel操作の例
次は、配列に入った値を順番にExcelへ書き込む例です。 for…of文を使うことで、処理内容が直感的になります。
function main(workbook: ExcelScript.Workbook) {
const sheet = workbook.getActiveWorksheet();
const names = ["田中", "佐藤", "鈴木"];
let row = 1;
for (const name of names) {
sheet.getRange(`B${row}`).setValue(name);
row++;
}
}
配列の中身を順番に処理するため、 「誰の名前を処理しているか」が分かりやすいのが特徴です。
7. forとfor…ofの使い分けポイント
for文は「回数」や「行番号」を重視する処理に向いています。 一方、for…of文は「データの中身」を順番に扱いたいときに便利です。
Office ScriptsでExcel操作をするときは、 表の構造や処理内容に合わせて使い分けることが大切です。
8. ループ処理を理解するとExcel自動化が一気に楽になる
ループ処理を使えるようになると、 数十行、数百行のExcel操作を一瞬で終わらせられます。
Office ScriptsとTypeScriptのfor文・for…of文は、 Excel自動化の基礎であり、作業効率を大きく変える重要なポイントです。 Excelの画面を思い浮かべながらコードを書くことで、自然と理解が深まります。