Office Scriptsの基本!Excel自動化で使う関数とコードの書き方
生徒
「Office Scriptsのサンプルを見ると、配列とかオブジェクトって出てきて混乱します…」
先生
「Excelの表や行をまとめて扱うときに、とても大切な考え方なんですよ。」
生徒
「配列とオブジェクトって、何が違うんですか?」
先生
「身近な例で考えながら、Office Scriptsでの使い方を見ていきましょう。」
1. Office Scriptsとは?
Office Scriptsは、Excel Onlineで使えるExcel自動化の仕組みです。 手作業で行っているコピー、集計、入力作業を、TypeScriptというプログラミング言語でまとめて実行できます。
Excelのセルや行、表をまとめて扱う場面では、 配列やオブジェクトという考え方が自然に登場します。
2. 配列とは何かをやさしく理解する
配列とは、「同じ種類のものを順番に並べた箱」です。 Excelで言うと、1行分のデータや、1列分の数値をまとめたイメージです。
例えば、今日の売上金額を横に並べた行は、プログラムでは配列として扱えます。 番号順にデータが入っているのが特徴です。
3. 配列の基本的な書き方
Office Scriptsでは、配列を使って複数の値をまとめて扱えます。 数字や文字を並べるだけで簡単に作れます。
function main(workbook: ExcelScript.Workbook) {
const numbers: number[] = [10, 20, 30];
const sheet = workbook.getActiveWorksheet();
sheet.getRange("A1").setValue(numbers[0]);
}
numbers[0]は、配列の一番最初の値を意味します。 Excelのセル番号のように、順番でデータを取り出せます。
4. 配列はExcelの行・列操作と相性が良い
Excelでは、行や列に同じ種類のデータが並びます。 そのため、配列はExcel自動化ととても相性が良い仕組みです。
セルを1つずつ操作するよりも、配列でまとめて考えることで、 コードが短くなり、読みやすくなります。
5. オブジェクトとは何かをイメージで理解する
オブジェクトは、「名前付きの箱が集まったもの」です。 Excelで言うと、1行の中に「名前」「数量」「金額」といった項目がある状態です。
配列が番号で管理するのに対して、 オブジェクトは「項目名」でデータを管理します。
6. オブジェクトの基本的な書き方
Office Scriptsでは、オブジェクトを使うことで、 データの意味がとても分かりやすくなります。
function main(workbook: ExcelScript.Workbook) {
const item = {
name: "りんご",
price: 120
};
const sheet = workbook.getActiveWorksheet();
sheet.getRange("B1").setValue(item.name);
}
item.nameのように、 名前を指定して値を取り出せるのがオブジェクトの特徴です。
7. 配列とオブジェクトを組み合わせる
実際のExcel自動化では、 「オブジェクトの配列」を使う場面が多くなります。 これは、表データそのものを表現する形です。
function main(workbook: ExcelScript.Workbook) {
const items = [
{ name: "りんご", price: 120 },
{ name: "みかん", price: 80 }
];
const sheet = workbook.getActiveWorksheet();
sheet.getRange("C1").setValue(items[1].name);
}
行ごとのデータを1つのオブジェクトとして扱えるため、 Excelの表構造ととても近い考え方になります。
8. 初心者が配列・オブジェクトを学ぶ意味
配列とオブジェクトは、最初は難しく感じますが、 Excelの「行」「列」「項目」をプログラムで表現するための基本です。
Office ScriptsでのExcel自動化では、 この2つを理解することで、複雑な処理も整理して書けるようになります。 焦らず、Excelの画面を思い浮かべながら覚えるのがコツです。