Office ScriptsでExcelの条件付き書式を自動化!アイコンセット・データバー設定のやり方をやさしく解説
生徒
「Office ScriptsでExcelの条件付き書式を自動化したいです。アイコンセットやデータバーってどうやって設定するんですか?」
先生
「Office Scriptsを使えば、Excel Onlineで条件付き書式もコードで自動設定できますよ。アイコンセットやデータバーも簡単に追加できます。」
生徒
「マウスで設定するのと何が違うんですか?」
先生
「一度コードを書けば、毎回同じルールを自動で設定できます。大量データの処理や毎月のレポート作成がとても楽になりますよ。」
1. Office Scriptsとは?
Office Scriptsは、Excel Onlineで使える自動化機能です。Excelの操作をコードで記録し、ボタンひとつで同じ処理を何度も実行できます。特に、条件付き書式の自動化やレポート作成、売上管理表の装飾などで活躍します。
条件付き書式とは、セルの数値や内容に応じて色やマークを自動で変える機能です。たとえば、売上が高いと緑色、低いと赤色にする、といった設定です。これを手作業ではなく、Office Scriptsで自動設定できるのが大きなメリットです。
2. 条件付き書式の基本と仕組み
Excelの条件付き書式は、「もしこの条件なら、この見た目にする」という仕組みです。プログラムの世界ではこれを条件分岐と呼びます。
Office Scriptsでは、まず対象のセル範囲を指定し、そこに条件付き書式を追加します。そのあと、アイコンセットやデータバーなどの種類を選びます。
セル範囲とは、A1からA10のような指定方法です。これはExcelの住所のようなものです。
3. アイコンセットを自動設定する方法
アイコンセットとは、数値に応じて丸や矢印などのマークを表示する機能です。売上の増減や成績評価を視覚的にわかりやすくできます。
function main(workbook: ExcelScript.Workbook) {
const sheet = workbook.getActiveWorksheet();
const range = sheet.getRange("B2:B11");
const conditionalFormat = range.addConditionalFormat(
ExcelScript.ConditionalFormatType.iconSet
);
const iconSet = conditionalFormat.getIconSet();
iconSet.setStyle(ExcelScript.IconSet.threeTrafficLights1);
}
このコードでは、B2からB11までのセルに信号アイコンを設定しています。三色の信号のように、数値の大きさによって自動でマークが変わります。
4. アイコンの条件を細かく設定する
デフォルト設定だけでなく、基準値も変更できます。たとえば、80点以上を緑、50点以上を黄色、それ未満を赤にする設定です。
function main(workbook: ExcelScript.Workbook) {
const sheet = workbook.getActiveWorksheet();
const range = sheet.getRange("C2:C11");
const cf = range.addConditionalFormat(
ExcelScript.ConditionalFormatType.iconSet
);
const iconSet = cf.getIconSet();
iconSet.setStyle(ExcelScript.IconSet.threeArrows);
const criteria = iconSet.getCriteria();
criteria[0].setType(ExcelScript.ConditionalFormatIconRuleType.number);
criteria[0].setValue(80);
criteria[1].setType(ExcelScript.ConditionalFormatIconRuleType.number);
criteria[1].setValue(50);
}
criteriaとは基準という意味です。数字を変更するだけで評価基準を自動化できます。
5. データバーを自動設定する方法
データバーとは、セルの中に棒グラフのようなバーを表示する機能です。数値が大きいほどバーが長くなります。売上表や在庫管理でよく使われます。
function main(workbook: ExcelScript.Workbook) {
const sheet = workbook.getActiveWorksheet();
const range = sheet.getRange("D2:D11");
const cf = range.addConditionalFormat(
ExcelScript.ConditionalFormatType.dataBar
);
const dataBar = cf.getDataBar();
dataBar.setBarColor("#4CAF50");
}
この例では、緑色のデータバーを設定しています。棒グラフのように数値の差が一目でわかります。
6. データバーの最小値と最大値を設定する
データバーは、自動計算だけでなく、最小値と最大値を自分で決めることもできます。これにより、評価基準を統一できます。
function main(workbook: ExcelScript.Workbook) {
const sheet = workbook.getActiveWorksheet();
const range = sheet.getRange("E2:E11");
const cf = range.addConditionalFormat(
ExcelScript.ConditionalFormatType.dataBar
);
const dataBar = cf.getDataBar();
dataBar.getLowerBound().setType(ExcelScript.ConditionalFormatRuleType.number);
dataBar.getLowerBound().setValue(0);
dataBar.getUpperBound().setType(ExcelScript.ConditionalFormatRuleType.number);
dataBar.getUpperBound().setValue(100);
}
この設定では、0から100の範囲でバーを表示します。テストの点数管理などに便利です。
7. 条件付き書式を削除する方法
自動化では、古い条件付き書式を削除してから新しい設定を追加することも重要です。重複を防ぐためです。
function main(workbook: ExcelScript.Workbook) {
const sheet = workbook.getActiveWorksheet();
const range = sheet.getRange("B2:E11");
range.clear(ExcelScript.ClearApplyTo.conditionalFormats);
}
このコードを実行すると、対象範囲の条件付き書式だけが削除されます。
まとめ
今回はOffice Scriptsを使ったExcelの条件付き書式の自動化について、アイコンセットやデータバーの設定方法を中心に解説しました。Excel Onlineでの作業を効率化するために、Office Scriptsを活用することで、毎回手動で行っていた条件付き書式の設定をコードで一括処理できるようになります。これは売上管理表や成績一覧表、在庫管理シート、業務レポートなど、数値データを扱うあらゆる場面で非常に役立ちます。
条件付き書式は、数値に応じてセルの見た目を自動で変更する機能です。視覚的に情報を整理できるため、データ分析や数値比較が直感的に行えます。特にアイコンセットは評価や増減を分かりやすく示すのに便利で、データバーは数値の大小関係を棒グラフのように表現できます。これらをOffice Scriptsで自動化することで、Excel自動化、業務効率化、レポート自動生成といった実務スキルが身につきます。
アイコンセットでは、addConditionalFormatを使って条件付き書式を追加し、getIconSetでスタイルを設定しました。さらにcriteriaを使うことで、数値の基準を細かくコントロールできました。例えば八十以上を高評価、五十以上を中評価、それ未満を低評価といったように、評価基準を明確にできます。これにより、Excelデータ分析や売上評価シートの自動化が簡単に実現できます。
データバーでは、getDataBarを利用してバーの色や最小値、最大値を設定しました。最小値と最大値を固定することで、毎月の売上比較やテスト点数管理など、基準を統一した分析が可能になります。Excelマクロの代わりにOffice Scriptsを使うことで、クラウド上で安全かつ効率的に自動化できる点も大きな魅力です。
また、clearを使って既存の条件付き書式を削除する方法も学びました。自動化では、前回の設定をリセットしてから新しいルールを適用することが重要です。これにより、条件の重複や表示崩れを防げます。Excel自動処理や業務改善を進めるうえで、この考え方はとても大切です。
ここで、アイコンセットとデータバーをまとめて設定するサンプルプログラムを確認しましょう。実務でそのまま応用できる形です。
function main(workbook: ExcelScript.Workbook) {
const sheet = workbook.getActiveWorksheet();
// 条件付き書式をクリア
const allRange = sheet.getRange("B2:E11");
allRange.clear(ExcelScript.ClearApplyTo.conditionalFormats);
// アイコンセット設定
const scoreRange = sheet.getRange("B2:B11");
const iconFormat = scoreRange.addConditionalFormat(
ExcelScript.ConditionalFormatType.iconSet
);
const iconSet = iconFormat.getIconSet();
iconSet.setStyle(ExcelScript.IconSet.threeTrafficLights1);
// データバー設定
const salesRange = sheet.getRange("C2:C11");
const dataBarFormat = salesRange.addConditionalFormat(
ExcelScript.ConditionalFormatType.dataBar
);
const dataBar = dataBarFormat.getDataBar();
dataBar.getLowerBound().setType(ExcelScript.ConditionalFormatRuleType.number);
dataBar.getLowerBound().setValue(0);
dataBar.getUpperBound().setType(ExcelScript.ConditionalFormatRuleType.number);
dataBar.getUpperBound().setValue(100);
}
このようにOffice Scriptsを活用すれば、Excelの条件付き書式設定、アイコン表示、データバー可視化、評価基準管理まで一括で自動化できます。手作業によるミスを防ぎ、作業時間を大幅に短縮できるため、業務効率化や生産性向上に直結します。Excel自動化スキルは現代のビジネス現場で非常に重要です。ぜひ繰り返し練習して、自分の業務に合わせたスクリプトを作成してみてください。
生徒
Office Scriptsで条件付き書式を自動化できると、毎回同じExcel設定を繰り返さなくて済むんですね。アイコンセットやデータバーもコードで自由に制御できるのが便利だと感じました。
先生
その通りです。特にExcel Online環境では、Office Scriptsを使うことでクラウド上で安全に自動化できます。評価基準の統一や売上分析の可視化にも最適です。
生徒
criteriaや最小値最大値の設定を変えれば、会社のルールに合わせた表示もできますね。Excel自動化や業務効率化に直結するスキルだと実感しました。
先生
そうですね。条件付き書式の理解はデータ分析の第一歩です。Office Scriptsを使ったExcel自動化を習得すれば、日々のレポート作成や数値管理が驚くほど楽になりますよ。