GASを使って簡単にセルを塗りつぶす方法と応用例
GASを使ってセルを塗りつぶす方法を知りたい。脱手動…!

猫男

catman
心配するな、catmanが手伝おう。GASなら、セルの塗りつぶしも簡単にできるさ。
GASでセルを塗りつぶす基本
GAS(Google Apps Script)を使えば、スプレッドシート内のセルを簡単に塗りつぶせます。
まずは基本的なコードから始めましょう。
セルを塗りつぶす初歩的なコード
以下のコードで、特定のセルを特定の色で塗りつぶすことができます。
function fillCell() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var range = sheet.getRange("A1");
range.setBackground("yellow");
}
– SpreadsheetApp.getActiveSpreadsheet(): 現在のスプレッドシートを取得します。
– getActiveSheet(): アクティブなシートを指定します。
– getRange(“A1”): セルA1を取得します。
– setBackground(“yellow”): 背景色を黄色に設定します。
こんな簡単なコードでセルを黄色にできるんだね。すごく便利そう!他の応用例も教えてもらえる?

猫男

catman
いいだろう。次は、もっと応用的な使い方でセルを塗りつぶしていこう。
GAS塗りつぶしの応用例
特定の条件で色を変える
データに基づいてセルの色を変更する方法を見てみましょう。
function conditionalFill() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var range = sheet.getRange("A1:A10");
var values = range.getValues();
for (var i = 0; i < values.length; i++) { if (values[i][0] > 50) {
range.getCell(i + 1, 1).setBackground("green");
} else {
range.getCell(i + 1, 1).setBackground("red");
}
}
}
– getRange(“A1:A10”): A1からA10の範囲を取得します。
– getValues(): 範囲内の値をすべて取得します。
– getCell(i + 1, 1): 各セルを個別にアクセスします。
– 条件に基づいて背景色を緑または赤にします。
条件をつけた塗りつぶしもできるんだ!これなら、データが多いときも一発で見やすくできるね。

猫男
列全体を特定の色で塗りつぶす
特定の列全体を同じ色で塗りつぶす方法です。
function fillEntireColumn() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var lastRow = sheet.getLastRow();
var range = sheet.getRange(1, 2, lastRow, 1); // B列
range.setBackground("lightgray");
}
– getLastRow(): データのある最後の行を取得します。
– getRange(1, 2, lastRow, 1): B列のすべての行を取得します。
– setBackground(“lightgray”): 背景色をライトグレーに設定します。

catman
データの視覚的整理には塗りつぶしが有効だろう。こうしたスクリプトを活用して自分の作業を効率化しよう。
練習問題
ここで、学んだことを確認できる練習問題を試してみましょう。
- GASを使用して、特定の列で50より小さい値を含むセルを青色で塗りつぶしてください。
解答・解説
function practiceFill() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var range = sheet.getRange("B1:B10");
var values = range.getValues();
for (var i = 0; i < values.length; i++) {
if (values[i][0] < 50) {
range.getCell(i + 1, 1).setBackground("blue");
}
}
}
– getRange(“B1:B10”): B1からB10のセル範囲を指定します。
– for ループ: 各セルの値をチェックします。
– 値が50未満のセルに対して、背景色を青色に変更します。
これなら僕でもできる気がしてきた!GASでセルを塗りつぶすのは、かなり使えるテクニックだね。

猫男

catman
その通りさ。不安なときは、いつでもcatmanを呼んでくれ。