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

Office Scriptsの基本!Excel自動化で学ぶ関数の分割と再利用で読みやすさを向上させる方法

関数の分割・再利用で読みやすさ向上
関数の分割・再利用で読みやすさ向上

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

生徒

「Office ScriptsでExcel自動化のコードを書いてみたんですが、だんだん長くなって読みにくくなってきました…」

先生

「それは関数を分割していないのが原因かもしれません。処理ごとに関数を分けると、とても読みやすくなりますよ。」

生徒

「関数を分けるって、同じコードを何度も書かなくてよくなるってことですか?」

先生

「その通りです。今日は、Office Scriptsでの関数の分割と再利用を、初心者向けにやさしく説明します。」

1. Office Scriptsとは?

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

Office Scriptsは、Excel Onlineで使える自動化スクリプト機能です。Excelの「自動化」タブからスクリプトを実行でき、セルの値変更、計算、シート操作などをコードでまとめて実行できます。プログラミング未経験の方でも、Excelの操作をそのままコードに置き換える感覚で学べるのが特徴です。

Office ScriptsではTypeScriptという言語を使いますが、難しい理論よりも「読みやすさ」「分かりやすさ」がとても大切になります。

2. 関数とは何かをやさしく説明

2. 関数とは何かをやさしく説明
2. 関数とは何かをやさしく説明

関数とは、「決まった作業をひとまとめにしたもの」です。たとえば料理で言うと、「ご飯を炊く」「野菜を切る」といった作業を、それぞれ役割ごとに分けるイメージです。

プログラムでも同じで、Excelに文字を書く処理、数値を計算する処理などを関数として分けておくと、全体の流れがとても見やすくなります。

3. 関数を分割しないコードの例

3. 関数を分割しないコードの例
3. 関数を分割しないコードの例

まずは、関数を分けずにすべてをmain関数の中に書いた例を見てみましょう。一見シンプルですが、処理が増えると読みにくくなります。


function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getActiveWorksheet();
  sheet.getRange("A1").setValue("名前");
  sheet.getRange("B1").setValue("点数");
  sheet.getRange("A2").setValue("田中");
  sheet.getRange("B2").setValue(80);
}

このコードは短いですが、処理が増えていくと「どこで何をしているのか」が分かりにくくなります。

4. 関数を分割して読みやすくする

4. 関数を分割して読みやすくする
4. 関数を分割して読みやすくする

次に、処理ごとに関数を分割した例を見てみましょう。ここでは「見出しを書く処理」と「データを書く処理」を分けています。


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

function writeHeader(sheet: ExcelScript.Worksheet) {
  sheet.getRange("A1").setValue("名前");
  sheet.getRange("B1").setValue("点数");
}

function writeData(sheet: ExcelScript.Worksheet) {
  sheet.getRange("A2").setValue("田中");
  sheet.getRange("B2").setValue(80);
}

関数名を見るだけで、何をしているコードなのかが分かります。これが関数分割の大きなメリットです。

5. 関数を再利用できるメリット

5. 関数を再利用できるメリット
5. 関数を再利用できるメリット

関数を分けておくと、同じ処理を何度も使い回せます。たとえば、別のシートでも同じ見出しを書きたい場合、同じ関数を呼ぶだけで済みます。

これは「コピー&ペーストを減らす」という意味でも重要です。同じコードを何か所にも書くと、修正が必要になったときに大変になります。

6. 再利用を意識した別パターンの例

6. 再利用を意識した別パターンの例
6. 再利用を意識した別パターンの例

次は、セルにメッセージを書く処理を関数にした例です。引数という仕組みを使って、内容を自由に変えられます。


function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getActiveWorksheet();
  writeMessage(sheet, "A1", "処理開始");
  writeMessage(sheet, "A2", "処理完了");
}

function writeMessage(
  sheet: ExcelScript.Worksheet,
  address: string,
  message: string
) {
  sheet.getRange(address).setValue(message);
}

このように関数を作っておくと、Excel自動化の幅が広がります。

7. 初心者が関数分割で意識するポイント

7. 初心者が関数分割で意識するポイント
7. 初心者が関数分割で意識するポイント

初心者の方は、「長くなってきたら関数に分ける」という意識を持つだけで十分です。最初から完璧に分ける必要はありません。

Office Scriptsでは、「main関数は全体の流れを書く場所」「細かい処理は関数に任せる」と考えると、コードが自然と整理されていきます。

8. 関数の分割と再利用はExcel自動化の基本

8. 関数の分割と再利用はExcel自動化の基本
8. 関数の分割と再利用はExcel自動化の基本

関数の分割と再利用は、Office ScriptsでExcel自動化を続けていくうえで欠かせない考え方です。コードが読みやすくなり、ミスも減り、後から見返したときにも安心できます。

難しいテクニックではなく、「作業を役割ごとに分ける」というシンプルな発想です。まずは小さな関数から始めて、少しずつ慣れていきましょう。

カテゴリの一覧へ
新着記事
New1
Excel VBA
VBAモジュールを安全にエクスポート・インポートする方法と注意点
New2
Office Scripts
Office Scriptsの基本!Excel自動化で学ぶ関数の分割と再利用で読みやすさを向上させる方法
New3
Excel VBA
ThisWorkbookに書くべき処理とは?VBAプロジェクトの正しい構成方法
New4
Office Scripts
Office Scriptsの基本!Excel自動化で理解する非同期処理(async/await)は本当に必要?
人気記事
No.1
Java&Spring記事人気No1
Office Scripts
Office Scriptsの基本!Excel自動化で使う関数とコードの書き方
No.2
Java&Spring記事人気No2
Excel VBA
VBAクラスモジュールとは?メリットと基本的な使い方を初心者向けに解説
No.3
Java&Spring記事人気No3
Excel VBA
ThisWorkbookに書くべき処理とは?VBAプロジェクトの正しい構成方法
No.4
Java&Spring記事人気No4
Office Scripts
Office Scriptsの基本!Excel自動化で使う関数とコードの書き方
No.5
Java&Spring記事人気No5
Office Scripts
Office Scriptsの基本!Excel自動化で使う関数とコードの書き方
No.6
Java&Spring記事人気No6
Office Scripts
Office Scriptsの基本!Excel自動化で学ぶ関数の分割と再利用で読みやすさを向上させる方法
No.7
Java&Spring記事人気No7
Excel VBA
VBEの色設定をカスタマイズして見やすくする方法(テーマ変更・配色例付き)
No.8
Java&Spring記事人気No8
Office Scripts
Office Scriptsの基本!Excel自動化で理解する非同期処理(async/await)は本当に必要?