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

Office Scriptsの基本!関数分割で読みやすいExcel自動化コードを設計する方法

関数分割で読みやすいコード設計をする方法
関数分割で読みやすいコード設計をする方法

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

生徒

「Office Scriptsでコードを書いてみたんですが、長くなってきて自分でも何をしているのかわからなくなりました……」

先生

「それはよくある悩みですね。そんなときに役立つのが、関数分割という考え方です。」

生徒

「関数分割って、プログラミング初心者でもできますか?」

先生

「もちろんです。Excel作業を小さな作業に分ける感覚と同じなので、順番に理解すれば大丈夫ですよ。」

1. Office Scriptsとは?

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

Office Scriptsは、Excel Onlineで使える自動化の仕組みです。マウスで何度も同じ操作をしなくても、あらかじめ書いたコードを実行するだけで、Excelの作業を一瞬で終わらせることができます。セルに文字を書く、表を整える、計算をするなど、普段人が行っている操作をプログラムに任せるのが特徴です。

Office ScriptsではTypeScriptという言語を使いますが、難しい計算や専門知識がなくても、Excelの操作をそのまま文章にしたような感覚で書けるため、プログラミング初心者にも向いています。

2. なぜ関数分割が必要なのか

2. なぜ関数分割が必要なのか
2. なぜ関数分割が必要なのか

コードを一つの場所に全部書いてしまうと、後から見たときに「何をしているコードなのか」が分かりにくくなります。これは、説明書が一行でぎっしり書かれているような状態と同じです。

関数分割とは、作業ごとにコードを分ける考え方です。たとえば「文字を書く作業」「色を変える作業」「計算する作業」をそれぞれ別の関数にします。こうすると、どこで何をしているのかが一目で分かり、ミスも減らせます。

3. 関数とは何かをやさしく理解しよう

3. 関数とは何かをやさしく理解しよう
3. 関数とは何かをやさしく理解しよう

関数とは「決まった作業をまとめたもの」です。料理で例えると、「ご飯を炊く」「野菜を切る」といった作業を一つずつ分けて考えるイメージです。Office Scriptsでも同じで、Excelに文字を書く処理だけを一つの関数にまとめられます。

関数に名前をつけておくと、「この関数は何をするのか」が名前を見るだけで分かるようになります。これが読みやすいコード設計の第一歩です。

4. 関数を使わない場合のコード例

4. 関数を使わない場合のコード例
4. 関数を使わない場合のコード例

まずは、関数を分けずに全部まとめて書いた例を見てみましょう。初心者の方が最初に書きがちな形です。


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(100);
}

このコードでも動きますが、行が増えると「何の処理なのか」を毎回読み直す必要があります。

5. 関数分割した読みやすいコード例

5. 関数分割した読みやすいコード例
5. 関数分割した読みやすいコード例

次に、同じ内容を関数分割して書いてみます。処理の意味が分かりやすくなります。


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(100);
}

「見出しを書く」「データを書く」と分かれているので、コードの意味がすぐ理解できます。

6. 処理ごとに関数を分ける考え方

6. 処理ごとに関数を分ける考え方
6. 処理ごとに関数を分ける考え方

関数分割をするときは、「人が説明するときに区切る場所」を意識します。たとえば「最初に準備する」「次に入力する」「最後に整える」といった流れです。

Office Scriptsでは、セル操作、書式設定、計算処理などを分けると、初心者でも安心してコードを読めるようになります。


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

function setTitle(sheet: ExcelScript.Worksheet) {
  sheet.getRange("A1").setValue("売上表");
}

function setColor(sheet: ExcelScript.Worksheet) {
  sheet.getRange("A1").getFormat().getFill().setColor("#FFFFCC");
}

7. 関数分割でミスを減らすメリット

7. 関数分割でミスを減らすメリット
7. 関数分割でミスを減らすメリット

関数ごとに分けておくと、間違いが起きたときに直す場所がすぐ分かります。一つの大きなコードだと、どこを直せばいいのか探すだけで疲れてしまいます。

また、同じ処理を何度も使い回せるのも大きなメリットです。これはOffice Scriptsのコード管理でも重要な考え方です。


function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getActiveWorksheet();
  writeMessage(sheet, "完了しました");
}

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

8. 初心者でも続けやすいコード設計のコツ

8. 初心者でも続けやすいコード設計のコツ
8. 初心者でも続けやすいコード設計のコツ

関数名は日本語の意味が分かる英単語を使い、短くシンプルにします。完璧な英語でなくても問題ありません。大切なのは、自分が後から見て理解できることです。

Office Scriptsでの関数分割は、Excel自動化を長く続けるための大切な基礎です。最初は少し手間に感じても、慣れてくると自然に書けるようになります。

カテゴリの一覧へ
新着記事
New1
Office Scripts
Office Scriptsで日付判定!Excel条件付き書式を自動化して期限管理をラクにする方法
New2
Office Scripts
Office Scripts普及の歴史とMicrosoftの方向性!Excel自動化が進化してきた流れをやさしく解説
New3
Excel VBA
Excel VBA関数を用途別に作成!計算・文字列処理の基本を初心者向けに解説
New4
Office Scripts
Office Scriptsで条件付き書式を自動化!数値変化に応じてExcelの書式を自動更新する方法
人気記事
No.1
Java&Spring記事人気No1
Excel VBA
Excelマクロのセキュリティ設定の基本!安全に実行するための信頼センター設定まとめ
No.2
Java&Spring記事人気No2
Office Scripts
Office Scriptsでできること・できないことを完全整理!Excel自動化の基本と限界をやさしく解説
No.3
Java&Spring記事人気No3
Excel VBA
目的別にモジュールを分割する方法!処理単位で整理して見やすくするテクニック
No.4
Java&Spring記事人気No4
Excel VBA
Excel VBAとOffice Scriptsの違いを比較!初心者でもわかる学ぶべきスキル
No.5
Java&Spring記事人気No5
Excel VBA
Excel VBA基本文法の総まとめ!初心者が必ず押さえるべき20の基礎ポイント完全ガイド
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
Excel VBA
Excel VBAプロジェクト構成とモジュール管理を完全解説!初心者でも迷わない基本の考え方