Office Scriptsで条件付き書式を自動化!Excel自動化初心者向けスクリプト操作の基本
生徒
「Office ScriptsでExcelの条件付き書式を自動化したいんですが、難しそうで不安です…」
先生
「大丈夫ですよ。Office Scriptsを使えば、Excel Onlineで条件付き書式もスクリプトで簡単に操作できます。」
生徒
「条件付き書式って、セルの色が自動で変わる機能ですよね?」
先生
「その通りです。今日はExcel自動化の基本として、条件付き書式をスクリプトで設定・変更する方法を学びましょう。」
1. Office Scriptsとは?Excel自動化の基本
Office Scriptsは、Excel Onlineで使える自動化スクリプト機能です。Excelの「自動化」タブからコードを書いて実行できます。VBAのようにExcelを自動操作できますが、ブラウザ上で動くのが特徴です。
プログラミング未経験の方でも安心してください。Office Scriptsは「Excelの操作を文章で書く」ような感覚で使えます。たとえば「A1に文字を入れる」「B列を赤くする」といった操作をコードに置き換えるだけです。
条件付き書式の自動化を学ぶことで、売上管理、点数管理、在庫チェックなどの業務効率化が可能になります。Excel自動化、業務改善、作業効率化というキーワードで検索している方にも役立つ内容です。
2. 条件付き書式とは?初心者向けやさしい解説
条件付き書式とは、「ある条件を満たしたときにセルの見た目を変える機能」です。たとえば「80点以上なら青色」「売上が目標未満なら赤色」といった設定ができます。
これは例えるなら、信号機のようなものです。青は進んでよい、赤は止まる。このように色で状況を判断できる仕組みが条件付き書式です。
Office Scriptsでは、この条件付き書式もコードで追加できます。つまり毎回手動で設定しなくても、自動で同じルールを適用できます。これがExcel自動化の大きなメリットです。
3. 数値が100以上なら赤色にする基本スクリプト
まずは一番シンプルな例です。A1からA10までのセルで、100以上の数値が入っていたら赤色にする条件付き書式を設定します。
function main(workbook: ExcelScript.Workbook) {
const sheet = workbook.getActiveWorksheet();
const range = sheet.getRange("A1:A10");
const conditionalFormat = range.addConditionalFormat(
ExcelScript.ConditionalFormatType.cellValue
);
conditionalFormat.getCellValue().setRule({
operator: ExcelScript.ConditionalCellValueOperator.greaterThanOrEqual,
formula1: "100"
});
conditionalFormat.getCellValue().getFormat().getFill().setColor("red");
}
ここで出てきた「operator」とは「比較方法」という意味です。greaterThanOrEqualは「以上」という意味です。
つまり「100以上なら赤色」というルールを作っています。Excel条件付き書式の自動化がたったこれだけのコードで実現できます。
4. 特定の文字が入っていたら色を変える方法
次は文字列に対する条件付き書式です。たとえば「未完了」という文字が入っていたら黄色にする設定です。
function main(workbook: ExcelScript.Workbook) {
const sheet = workbook.getActiveWorksheet();
const range = sheet.getRange("B1:B10");
const conditionalFormat = range.addConditionalFormat(
ExcelScript.ConditionalFormatType.containsText
);
conditionalFormat.getTextComparison().setRule({
operator: ExcelScript.ConditionalTextOperator.contains,
text: "未完了"
});
conditionalFormat.getTextComparison().getFormat().getFill().setColor("yellow");
}
containsは「含む」という意味です。つまり「未完了を含むセルを黄色にする」という設定です。
タスク管理表や進捗管理表でとても役立つExcel自動化テクニックです。
5. データバーを追加する条件付き書式
条件付き書式には「データバー」という視覚的な表示方法もあります。数値の大きさを棒グラフのように表示できます。
function main(workbook: ExcelScript.Workbook) {
const sheet = workbook.getActiveWorksheet();
const range = sheet.getRange("C1:C10");
const conditionalFormat = range.addConditionalFormat(
ExcelScript.ConditionalFormatType.dataBar
);
conditionalFormat.getDataBar().setBarColor("blue");
}
これだけで数値の大きさが視覚的にわかるようになります。売上分析や成績管理に便利です。Excel業務効率化の代表的な使い方です。
6. 既存の条件付き書式を削除する方法
条件付き書式をスクリプトで削除することもできます。設定し直したい場合に便利です。
function main(workbook: ExcelScript.Workbook) {
const sheet = workbook.getActiveWorksheet();
const range = sheet.getRange("A1:C10");
range.clearAllConditionalFormats();
}
clearAllConditionalFormatsは「すべての条件付き書式を削除する」という意味です。これにより自動的に初期状態へ戻せます。
7. 条件付き書式を自動化するメリットと活用例
Office Scriptsで条件付き書式を自動化すると、毎回の手動設定が不要になります。これは作業時間短縮だけでなく、設定ミス防止にもつながります。
たとえば売上管理、在庫管理、点数管理、進捗管理など、さまざまなExcel業務に応用できます。Excel自動化、Office Scripts入門、条件付き書式スクリプト、Excel Online自動化といったキーワードで調べている方にも重要な内容です。
最初は難しく見えますが、やっていることは「もし〜なら色を変える」という単純な仕組みです。まずは小さな範囲で試し、少しずつ応用していきましょう。これがOffice Scripts初心者にとって最も確実な学習方法です。