Googleスプレッドシートを使っていると、「このセルに色をつけたいな」と思うこと、ありますよね。例えば、重要なデータを目立たせたり、条件に応じてセルの色を変えたりすることで、視覚的にわかりやすく整理できます。今回は、Google Apps Script(GAS)を使って、スプレッドシートのセル背景色を変更する方法を、初心者の方にもわかりやすくご紹介します。
GASでセルの背景色を変更する基本の方法
まずは、GASを使ってセルの背景色を変更する基本的な方法から見ていきましょう。
セルを指定して色を変更する
例えば、セルの背景色を赤にしたい場合、以下のようなコードを使います。
function changeCellColor() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.getRange("").setBackground("red");
}
このコードを実行すると、セルの背景色が赤に変わります。
複数のセルを指定して色を変更する
次に、からB2までの範囲のセルの背景色を黄色に変更する方法です。
function changeRangeColor() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.getRange("B2").setBackground("yellow");
}
このコードを実行すると、からB2までのセルの背景色が黄色に変わります。
RGB値を使って色を指定する
色をより細かく指定したい場合、RGB値を使って色を指定することができます。例えば、薄い青色にしたい場合、以下のようにコードを書きます。
function changeRGBColor() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.getRange("").setBackgroundRGB(173, 216, 230); // RGB値で薄い青色
}
このコードを実行すると、セルの背景色が薄い青色に変わります。
条件に応じてセルの背景色を変更する方法
次に、特定の条件に応じてセルの背景色を変更する方法をご紹介します。
セルの値に応じて色を変更する
例えば、セルの値が「重要」と書かれていたら、そのセルの背景色を赤に変更する場合、以下のようにコードを書きます。
function changeColorBasedOnValue() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var cell = sheet.getRange("");
if (cell.getValue() == "重要") {
cell.setBackground("red");
} else {
cell.setBackground("white");
}
}
このコードを実行すると、セルの値が「重要」の場合、その背景色が赤に、それ以外の場合は白に変わります。
条件付き書式を使って色を変更する
GASを使わずに、スプレッドシートの機能だけで条件に応じてセルの背景色を変更する方法もあります。これを「条件付き書式」と呼びます。
例えば、A列の値が「重要」の場合、その行全体の背景色を赤にする設定を行いたい場合、以下の手順で設定できます。
- A列を選択します。
- メニューから「書式」→「条件付き書式」を選択します。
- 「書式ルールを追加」をクリックし、「セルの書式設定の条件」で「テキストが正確に一致」を選択します。
- 値に「重要」と入力し、書式の色を赤に設定します。
- 「完了」をクリックします。
この設定を行うと、A列のセルの値が「重要」の場合、その行全体の背景色が赤に変わります。
背景色を取得して活用する方法
背景色を変更するだけでなく、既存のセルの背景色を取得して、それを活用する方法もあります。
セルの背景色を取得する
例えば、セルの背景色を取得して、その色をログに表示する場合、以下のようにコードを書きます。
function getCellColor() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var cell = sheet.getRange("");
var color = cell.getBackground();
Logger.log(color); // 例: #ffffff
}
このコードを実行すると、セルの背景色のカラーコード(例: #ffffff)がログに表示されます。
範囲のセルの背景色を取得する
次に、からB2までの範囲のセルの背景色を取得して、ログに表示する方法です。
function getRangeColors() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var range = sheet.getRange("B2");
var colors = range.getBackgrounds();
for (var i = 0; i < colors.length; i++) {
for (var j = 0; j < colors.length; j++) {
Logger.log(colors); // 例: #ffffff
}
}
}
このコードを実行すると、からB2までの各セルの背景色のカラーコードがログに表示されます。
よくある質問
Q1: GASを使うにはどうすればいいですか?
Googleスプレッドシートを開き、メニューから「拡張機能」→「Apps Script」を選択すると、GASのエディタが開きます。そこでコードを入力し、実行することができます。
Q2: セルの背景色を変更するだけでなく、文字の色も変更できますか?
はい、できます。`setFontColor()`メソッドを使うことで、セルの文字の色を変更することができます。例えば、`cell.setFontColor("blue");`とすることで、文字色を青に変更できます。
Q3: 背景色を変更する際に、色の名前以外にRGB値やカラーコードを使うことはできますか?
はい、できます。`setBackgroundRGB(red, green, blue)`メソッドを使うことで、RGB値で色を指定できます。また、`setBackground("#RRGGBB")`のように、カラーコードを使って色を指定することもできます。
まとめ
Google Apps Script(GAS)を使うことで、Googleスプレッドシートのセルの背景色を自由に変更することができます。これにより、データの視覚的な整理や強調が可能となり、作業効率が向上します。ぜひ、今回ご紹介した方法を試してみてください。
他にも疑問やお悩み事があればお気軽にLINEからお声掛けください。



コメント