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

Office Scriptsの基本!Excel自動化で使う関数とコードの書き方

シート追加・削除・並べ替えの自動化
シート追加・削除・並べ替えの自動化

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

生徒

「Excelでシートを追加したり並べ替えたりするのって、毎回手作業で大変です。Office Scriptsを使うと自動でできるって聞いたんですが、本当に初心者でもできますか?」

先生

「できます。マウスでやっている操作を、そのまま文章にしたようなコードを書くイメージです。難しい計算や知識は必要ありません。」

生徒

「シートの追加や削除、順番を並べ替えるだけでもコードが必要なんですよね?」

先生

「はい。でも短いコードでできます。今日はExcelワークシート操作の中でも、シート追加・削除・並べ替えの自動化にしぼって見ていきましょう。」

1. Office Scriptsとは?Excel自動化の基本

1. Office Scriptsとは?Excel自動化の基本
1. Office Scriptsとは?Excel自動化の基本

Office Scriptsは、Excel Onlineで使える自動化の仕組みです。毎日同じ操作を繰り返している場合、その手順をコードとして保存し、ボタン一つで実行できます。Excelマクロと似ていますが、ブラウザ上で動き、OneDriveやSharePointと相性が良いのが特徴です。

初心者の方は「自動化」と聞くと難しそうに感じるかもしれません。しかし実際は「シートを追加する」「名前を変える」「不要なシートを消す」といった、普段のExcel操作を順番に書くだけです。Office ScriptsではTypeScriptという言語を使いますが、英語の命令文のように読めるため、パソコンに不慣れな人でも少しずつ理解できます。

2. Excelワークブックとワークシートの考え方

2. Excelワークブックとワークシートの考え方
2. Excelワークブックとワークシートの考え方

Excelには「ワークブック」と「ワークシート」という言葉があります。ワークブックはExcelファイル全体のこと、ワークシートは下に並んでいる「Sheet1」「Sheet2」といった1枚1枚の紙のような存在です。

Office Scriptsでは、まずワークブックを指定し、その中のワークシートを操作します。これは「本棚(ワークブック)から1冊のノート(ワークシート)を取り出して作業する」イメージです。この考え方を理解しておくと、シート追加や削除、並べ替えがとても分かりやすくなります。

3. ワークシートを自動で追加する方法

3. ワークシートを自動で追加する方法
3. ワークシートを自動で追加する方法

まずはシートの追加です。普段は「+」ボタンをクリックしますが、Office Scriptsではコードで追加できます。これは「新しい紙を1枚足す」と命令するだけです。


function main(workbook: ExcelScript.Workbook) {
  const newSheet = workbook.addWorksheet("売上データ");
}

このコードでは、addWorksheetという命令を使っています。これは「ワークブックに新しいワークシートを追加する」という意味です。かっこの中に名前を書くことで、シート名も同時に決められます。名前を省略すると、自動で「Sheet○」のような名前になります。

初心者の方は「関数」「メソッド」といった言葉に戸惑うかもしれませんが、ここでは「決まった命令の名前」と考えて問題ありません。

4. 不要なワークシートを削除する自動化

4. 不要なワークシートを削除する自動化
4. 不要なワークシートを削除する自動化

次はシートの削除です。手動だと右クリックして削除しますが、これもOffice Scriptsで自動化できます。特に毎回同じ名前のシートを消したい場合に便利です。


function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getWorksheet("テスト用");
  if (sheet) {
    sheet.delete();
  }
}

getWorksheetは「指定した名前のワークシートを探す」命令です。もし存在しない場合にエラーが出ないよう、if文で確認しています。if文とは「もし〜なら」という条件分岐で、プログラミングではとてもよく使われます。

このように条件を入れておくことで、Excel初心者でも安心して自動化できます。

5. ワークシートの順番を並べ替える方法

5. ワークシートの順番を並べ替える方法
5. ワークシートの順番を並べ替える方法

シートが増えてくると、順番がバラバラになりがちです。Office Scriptsでは、シートの位置もコードで変更できます。これは「この紙を一番左に移動して」と指示するイメージです。


function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getWorksheet("売上データ");
  sheet.setPosition(0);
}

setPositionは、ワークシートの並び順を指定する命令です。0は一番左、1は左から2番目、というように数値で位置を決めます。数字は0から始まる点がポイントですが、「先頭は0」と覚えておけば十分です。

6. 複数シートをまとめて整理する実践例

6. 複数シートをまとめて整理する実践例
6. 複数シートをまとめて整理する実践例

ここまでの知識を組み合わせると、シート整理を一気に自動化できます。例えば「新しいシートを作り、不要なシートを削除し、最後に並び替える」といった流れです。


function main(workbook: ExcelScript.Workbook) {
  workbook.addWorksheet("集計結果");

  const oldSheet = workbook.getWorksheet("古いデータ");
  if (oldSheet) {
    oldSheet.delete();
  }

  const resultSheet = workbook.getWorksheet("集計結果");
  resultSheet.setPosition(0);
}

このコードは、実際のExcel作業をそのまま文章にしたような内容です。Office Scriptsは、こうした「作業の流れ」をそのまま書ける点が大きな魅力です。Excel自動化、ワークシート操作、シート管理といったキーワードで検索してきた方にも役立つ内容になります。

7. 初心者がつまずきやすいポイントと注意点

7. 初心者がつまずきやすいポイントと注意点
7. 初心者がつまずきやすいポイントと注意点

初心者がよくつまずくのは、シート名の指定ミスです。全角・半角や文字の違いがあると、Office Scriptsは別の名前として扱います。また、存在しないシートを削除しようとするとエラーになります。

そのため、今回紹介したようにif文で存在確認を行う書き方が重要です。これはExcel自動化を安全に行うための基本です。難しいテクニックではなく、「あるかどうか確認してから操作する」という、現実の作業と同じ考え方です。

Office Scripts、Excel Online、ワークブック操作、ワークシート自動化といった基本キーワードを意識しながら、少しずつコードに慣れていくと理解が深まります。

まとめ

まとめ
まとめ

今回は、Office Scriptsを使ったExcel自動化の基本として、ワークシートの追加、削除、並べ替えといった日常的な操作をコードで実現する方法について詳しく解説しました。Excelを日常業務で使っていると、同じ作業を何度も繰り返す場面が多くなります。例えば、毎日新しいシートを作成してデータを入力したり、不要になったシートを削除したり、見やすくするためにシートの順番を整理したりといった作業です。これらは一つ一つは簡単でも、積み重なると大きな手間になります。

そこで活用したいのがOffice Scriptsです。Office ScriptsはExcel Online上で動作する自動化機能であり、TypeScriptという言語を使って操作を記述します。難しそうに感じるかもしれませんが、実際には「やりたい作業を順番に書くだけ」というシンプルな考え方で扱うことができます。特に初心者の方にとっては、「シートを追加する」「名前を指定する」「存在するか確認して削除する」といった一つ一つの操作を理解することが重要です。

ワークブックとワークシートの関係を理解することも大切なポイントです。ワークブックはファイル全体、ワークシートはその中の一枚一枚のシートです。この構造をイメージできるようになると、コードの意味がぐっと分かりやすくなります。例えば、addWorksheetはワークブックに新しいシートを追加する命令であり、getWorksheetは指定した名前のシートを取得する命令です。このように命令の意味を一つずつ理解していくことで、自然とコードが読めるようになります。

また、実務で非常に重要なのが安全な処理です。存在しないシートを削除しようとするとエラーが発生するため、if文を使って事前に存在確認を行うことが推奨されます。この考え方はプログラミングだけでなく、日常業務にも通じるものがあります。「確認してから実行する」という基本を守ることで、トラブルを防ぐことができます。

シートの並べ替えでは、setPositionを使って位置を数値で指定しました。ここでのポイントは、位置が0から始まるという点です。最初は違和感があるかもしれませんが、プログラミングの世界では一般的なルールです。このような細かいルールに慣れていくことも、スキルアップには欠かせません。

最後に紹介した実践例では、シートの追加、削除、並べ替えを一連の流れとしてまとめました。このように複数の処理を組み合わせることで、より実用的な自動化が可能になります。Excel作業を効率化したい方、業務改善を進めたい方にとって、Office Scriptsは非常に強力なツールです。最初は短いコードから始めて、徐々に処理を増やしていくことで、無理なくスキルを伸ばすことができます。

サンプルプログラム(復習用)


function main(workbook: ExcelScript.Workbook) {
  // 新しいシートを追加
  const newSheet = workbook.addWorksheet("レポート");

  // 不要なシートを削除
  const oldSheet = workbook.getWorksheet("削除対象");
  if (oldSheet) {
    oldSheet.delete();
  }

  // シートを先頭に移動
  const reportSheet = workbook.getWorksheet("レポート");
  if (reportSheet) {
    reportSheet.setPosition(0);
  }
}
先生と生徒の振り返り会話

生徒

「Office Scriptsって難しそうだと思っていましたが、やることは普段のExcel操作と同じなんですね。」

先生

「その通りです。違いは手で操作するか、コードで書くかだけです。慣れてくるとコードの方が速くて正確になります。」

生徒

「シートの追加や削除も、短いコードでできるのが分かりました。if文で確認するのも大事なんですね。」

先生

「はい。存在確認はとても重要です。エラーを防ぐ基本的な考え方なので、必ず身につけておきましょう。」

生徒

「並べ替えも数字で指定するだけなので、思ったより簡単でした。0から始まるのは最初戸惑いそうですが覚えます。」

先生

「そこに気づけたのは良いですね。プログラミングではよく出てくる考え方なので、今のうちに慣れておくと後が楽になります。」

生徒

「今回の内容を組み合わせれば、かなり実務でも使えそうです。毎日の作業を自動化できそうで楽しみです。」

先生

「ぜひ試してみてください。小さな自動化の積み重ねが、大きな効率化につながりますよ。」

カテゴリの一覧へ
新着記事
New1
Excel VBA
Excel VBAで業務自動化!初心者でもわかる定型作業の自動化例
New2
Excel VBA
VBAの基本構造を理解しよう!モジュール・プロシージャ・関数の役割まとめ
New3
Office Scripts
Office Scriptsで大量シートを効率管理!Excelワークブック最適構造と自動化テクニック
New4
Excel VBA
Excel VBAが今でも使われ続ける理由とは?現場で評価されるポイントを徹底解説
人気記事
No.1
Java&Spring記事人気No1
Office Scripts
Office Scriptsで別ブックを開いてデータ取得する方法|OneDrive・SharePoint連携でExcel自動化
No.2
Java&Spring記事人気No2
Excel VBA
Excel VBA参照設定エラー「参照が見つかりません」を完全解説!初心者でも原因と対処法がわかる
No.3
Java&Spring記事人気No3
Excel VBA
Excel VBAモジュール共有術!複数のブックでマクロを使い回す最適構成
No.4
Java&Spring記事人気No4
Excel VBA
Excel VBAの開発環境を最速で整える!VBEの開き方から基本操作まで完全ガイド
No.5
Java&Spring記事人気No5
Excel VBA
Excel VBAは今後なくなる?将来性と企業での活用状況を詳しく解説
No.6
Java&Spring記事人気No6
Excel VBA
Excel VBAで列の追加・行の削除を自動化!InsertとDeleteの使い方を初心者向けに徹底解説
No.7
Java&Spring記事人気No7
Excel VBA
個人用マクロブック(PERSONAL.XLSB)で作る最強の共通ライブラリ化ガイド
No.8
Java&Spring記事人気No8
Excel VBA
VBAのコメントの書き方を完全ガイド!初心者でもわかる説明文の付け方