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

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

セル・レンジ取得の基本と使い方
セル・レンジ取得の基本と使い方

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

生徒

「Excelを毎日使っているんですが、同じ作業ばかりで大変です。Office Scriptsって何ができるんですか?」

先生

「Office Scriptsを使うと、Excelのセルや範囲を自動で操作できます。人がマウスでやる作業を、コードに任せられるんですよ。」

生徒

「セルや範囲って、A1とかB2のことですよね?それをどうやって取るんですか?」

先生

「まさにそこが基本です。まずはセル・レンジの取得方法から、ゆっくり説明していきましょう。」

1. Office Scriptsとは?

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

Office Scripts(オフィス スクリプト)は、Excel Onlineで使える自動化機能です。Excelを開いてボタンを押すだけで、事前に作った処理を一気に実行できます。たとえば「セルに文字を書く」「計算結果を別のセルに入れる」「決まった範囲をまとめて取得する」といった作業を、人の代わりにExcel自身がやってくれます。

プログラミング未経験の人でも、Excelの操作をそのまま文章にしたようなコードなので、少しずつ慣れていけば理解できます。Office ScriptsではTypeScriptという言語を使いますが、難しい文法は最初は気にしなくて大丈夫です。

2. セルとレンジの違いを知ろう

2. セルとレンジの違いを知ろう
2. セルとレンジの違いを知ろう

Excelには「セル」と「レンジ(範囲)」という考え方があります。セルはA1やB2のように、1マスだけを指します。一方レンジは、A1からC3のように、複数のセルをまとめたものです。

身近な例でいうと、セルはノートの1マス、レンジはノートの1行や1ページのようなものです。Office Scriptsでは、このセルやレンジを取得してから、値を読んだり書いたりします。

3. セルを1つ取得する基本の書き方

3. セルを1つ取得する基本の書き方
3. セルを1つ取得する基本の書き方

まずは一番シンプルな「セルを1つ取得する方法」です。Office Scriptsでは、シートを取得してから、その中のセルを指定します。ここでいう「取得」とは、「Excelにあるセルをコードでつかむ」という意味です。


function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getActiveWorksheet();
  const cell = sheet.getRange("A1");
  cell.setValue("はじめてのOffice Scripts");
}

このコードでは、A1セルを取得して、文字を書き込んでいます。getRangeは「この場所のセルや範囲をください」という命令です。A1と書けば、A1セルだけを指定できます。


A1セルに「はじめてのOffice Scripts」と表示される

4. レンジ(複数セル)を取得する方法

4. レンジ(複数セル)を取得する方法
4. レンジ(複数セル)を取得する方法

次は、複数のセルをまとめて取得する方法です。たとえばA1からA3までの縦3つのセルを一気に扱うことができます。レンジを使うと、まとめて値を設定したり、まとめて読み取ったりできて便利です。


function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getActiveWorksheet();
  const range = sheet.getRange("A1:A3");
  range.setValues([
    ["りんご"],
    ["みかん"],
    ["バナナ"]
  ]);
}

ここではA1からA3までのレンジを取得しています。setValuesは、複数の値を一度に書き込むときに使います。箱にまとめて物を入れるようなイメージで考えると分かりやすいです。


A1〜A3に果物の名前が縦に表示される

5. セルの値を取得して使う

5. セルの値を取得して使う
5. セルの値を取得して使う

セルやレンジは、書き込むだけでなく「中身を読む」こともできます。これを値の取得といいます。たとえば、A1に入っている数値を取り出して、別のセルに使うことができます。


function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getActiveWorksheet();
  const value = sheet.getRange("A1").getValue();
  sheet.getRange("B1").setValue(value);
}

getValueは「このセルの中身を教えて」という意味です。人が目で見て数字を確認する代わりに、コードが自動で値を取り出してくれます。


A1の内容がそのままB1に表示される

6. レンジを使った簡単な計算

6. レンジを使った簡単な計算
6. レンジを使った簡単な計算

Office Scriptsでは、セルから取得した数値を使って計算もできます。たとえば、2つのセルの数値を足し算して、結果を別のセルに表示することが可能です。


function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getActiveWorksheet();
  const a = sheet.getRange("A1").getValue() as number;
  const b = sheet.getRange("A2").getValue() as number;
  sheet.getRange("A3").setValue(a + b);
}

「as number」は、数値として使いますよ、という目印です。電卓で数字を足すような感覚で、Excelの中身を使って計算できます。


A1とA2の合計がA3に表示される

7. よく使うセル・レンジ操作の考え方

7. よく使うセル・レンジ操作の考え方
7. よく使うセル・レンジ操作の考え方

初心者のうちは、「どのセルを使うのか」「1つなのか複数なのか」を意識するだけで十分です。Office Scriptsでは、必ず取得 → 操作という流れになります。

まずセルやレンジを取得し、そのあとで値を読む、書く、計算するといった処理を行います。これは、紙の書類を机に出してから書き込むのと同じ流れです。

Excel自動化、Office Scripts、セル取得、レンジ操作といったキーワードは、これから何度も出てきますが、最初は「Excelをコードで触る方法」と思っておけば問題ありません。

まとめ

まとめ
まとめ

Office Scriptsの基本を振り返る

Office Scriptsは、Excel自動化を実現するための非常に強力な機能です。これまで見てきたように、セル取得やレンジ操作といった基本的な考え方を理解することで、日々の繰り返し作業を効率よく処理できるようになります。特にExcel作業の効率化や業務自動化を目指す人にとって、Office Scriptsは欠かせないスキルとなっていきます。

まず重要なのは、「セル」と「レンジ」の違いをしっかり理解することです。セルは一つのマスを表し、レンジは複数のセルをまとめた範囲です。この違いを理解することで、どのようにデータを扱うかが明確になります。Excel自動化では、単一の値を扱うのか、それとも複数のデータを一括処理するのかによって、コードの書き方が変わります。

また、Office Scriptsでは必ず「取得してから操作する」という流れになります。これは非常に重要なポイントです。セル取得やレンジ取得を行った後に、値の取得や書き込みを行うことで、Excelの操作をコードで再現できます。この流れを意識するだけでも、コードの理解が一気に進みます。

さらに、getValueやsetValue、setValuesといった関数の使い分けも重要です。単一セルにはsetValue、複数セルにはsetValuesを使うことで、効率よくデータ操作ができます。特にレンジ操作は、Excel自動化において頻繁に使用されるため、しっかりと理解しておくことで応用の幅が広がります。

計算処理においては、セルから取得した値を数値として扱うことが大切です。「as number」を使うことで、文字列ではなく数値として計算できるようになります。これにより、合計や平均などの計算処理をスムーズに実装できます。

Office Scriptsは、Excel Onlineと連携して動作するため、クラウド環境での業務効率化にも適しています。例えば、毎日の売上集計やデータ整理などの定型業務を自動化することで、作業時間の短縮やヒューマンエラーの削減につながります。Excel自動化や業務効率化という観点でも、非常に実用的な技術といえるでしょう。

サンプルプログラムで総復習

ここでは、セル取得、レンジ操作、値の取得、計算処理をすべて組み合わせたサンプルコードを紹介します。基本的な処理を一通り確認することで、理解がより深まります。


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

  // セルに値を設定
  sheet.getRange("A1").setValue(10);
  sheet.getRange("A2").setValue(20);

  // 値を取得して計算
  const a = sheet.getRange("A1").getValue() as number;
  const b = sheet.getRange("A2").getValue() as number;
  const total = a + b;

  // 結果を出力
  sheet.getRange("A3").setValue(total);

  // レンジにまとめて書き込み
  sheet.getRange("B1:B3").setValues([
    ["合計"],
    ["計算結果"],
    [total]
  ]);
}

A1に10、A2に20が入力され、A3に30が表示される
B1からB3には合計と計算結果が表示される

このように、Office Scriptsではセル操作とレンジ操作を組み合わせることで、実務に近い処理を簡単に実装できます。Excel自動化を実現するためには、これらの基本パターンを繰り返し使うことが重要です。

実務で役立つポイント

実際の業務では、単純なセル操作だけでなく、データの整形や条件分岐なども組み合わせて使います。そのため、まずは今回学んだ「セル取得」「レンジ取得」「値の取得」「値の設定」という基本をしっかり身につけることが大切です。

Excel自動化、Office Scripts、業務効率化、データ処理といったキーワードは、今後のITスキルとして非常に重要になっていきます。繰り返しコードを書くことで、自然と理解が深まり、応用力も身についていきます。

先生と生徒の振り返り会話

生徒

「Office Scriptsって最初は難しそうでしたが、セルを取ってから操作するだけなんですね。」

先生

「その通りです。セル取得とレンジ操作の流れが分かれば、Excel自動化の基本はほぼ理解できています。」

生徒

「getValueとsetValueも使い分けが大事ですね。値を読むか書くかで違うんですね。」

先生

「よく気づきましたね。さらにsetValuesを使えば、複数データも一括で処理できます。」

生徒

「計算もできるので、売上の集計とかも自動化できそうです。」

先生

「まさにその用途が多いです。Excel自動化と業務効率化の中心的な技術なので、これからどんどん活用していきましょう。」

カテゴリの一覧へ
新着記事
New1
Office Scripts
Office Scriptsで大量行データを高速処理する方法!Excel自動化・セル取得・レンジ操作の最適化テクニック
New2
Excel VBA
VBAの処理速度は遅い?Excel VBAのパフォーマンス事情と改善ポイントまとめ
New3
Excel VBA
Excel VBAでよく使うショートカットキー一覧!開発効率が劇的に上がる操作集
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で列の追加・行の削除を自動化!InsertとDeleteの使い方を初心者向けに徹底解説
No.3
Java&Spring記事人気No3
Office Scripts
Office Scriptsで外部API連携!fetchとBearer Tokenで認証付きAPIを使う方法【Excel自動化×HTTP通信入門】
No.4
Java&Spring記事人気No4
Excel VBA
Excel VBAは今後なくなる?将来性と企業での活用状況を詳しく解説
No.5
Java&Spring記事人気No5
Excel VBA
Excel VBAモジュール共有術!複数のブックでマクロを使い回す最適構成
No.6
Java&Spring記事人気No6
Excel VBA
Excel VBAのループ処理を徹底解説!For文とDo Loopで繰り返しを自動化
No.7
Java&Spring記事人気No7
Excel VBA
VBAのコメントの書き方を完全ガイド!初心者でもわかる説明文の付け方
No.8
Java&Spring記事人気No8
Excel VBA
個人用マクロブック(PERSONAL.XLSB)で作る最強の共通ライブラリ化ガイド