【GAS】スプレッドシートの背景色機能まとめ【サンプルソース付】

快速ワーク
スポンサーリンク

GAS開発者向けにスプレッドシートの背景色機能をすべてまとめました。

重要なセルの背景色を変えればデータが際立ちますね。データを目立たせたい場合はフォント色の変更よりも効果的だと思います。

RGB設定(赤・緑・青)や現在の色の取得などです。交互の背景色も含めてます。

背景色に関するメソッドをすべて載せてます。少しでも参考になれば幸いです。


Google Apps Script スプレッドシート 基礎 リファレンス

当ページは、GAS公式リファレンスを元にスプレッドシートの機能毎にまとめた基礎的な内容となっております。

若干、文言がおかしい可能性がありますが、あらかじめご了承ください。

 

GAS基本メソッドまとめ一覧はコチラ↓↓↓です。スプレッドシートの基本的な機能をまとめてますので、ぜひご活用ください。

【GAS】スプレッドシート基本メソッドまとめ一覧【初心者入門】
GAS開発者向けにスプレッドシートの基本的なメソッドを一覧にまとめました。各機能ごとのクラス、メソッドごとのサンプルソース付ページへリンクする一覧です。初心者にとって、スプレッドシートの基本的な操作・機能単位のメソッドを知...

 

まずは実際に動かしてみることをオススメします。マクロの登録方法は以下を参照いただければと思います。

【GAS】Googleスプレッドシートでマクロの使い方入門【動画付】
Googleの「Google Apps Script」通称GAS。GoogleマップやGメールなど、いろんなGoogle関連のサービスと自由に連携できたり、独自のWebアプリを開発することもできる、いろんな可能性を秘めたワクワクの...

 

GASの本はまだまだ少ないですね。基礎レベルであれば、以下の参考書が初心者にはベストの本です。

基本的な仕様やよく使われる機能の設定方法がまとまっています。

※JavaScriptの知識が既にある程度ある人にとっては冗長かもしれません。


セル範囲クラス[Range]の背景色設定

セル範囲の背景色設定メソッドです。

背景色設定[setBackground(色)]

setBackground(color)
CSS表記の範囲内のすべてのセルの背景色を設定します( '#ffffff'や 'white'など)。

function setBackgroundSample() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];

  var range = sheet.getRange("B2:D5");
  range.setBackground("red");
}
Parameters
名前タイプ説明
colorStringCSS表記のカラーコード( '#ffffff'や 'white'など)。 null値は色をリセットします。

Return
Range - 連鎖用のセル範囲。

参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | setBackground(color)

背景色RGB設定[setBackgroundRGB(赤, 緑, 青)]

setBackgroundRGB(red, green, blue)
RGB値(0から255までの整数)を使用して、背景を指定の色に設定します。

function setBackgroundRGBSample() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];

  var cell = sheet.getRange("B2");

  // 背景を白に設定します
  cell.setBackgroundRGB(255, 255, 255);

  // 背景を赤に設定します
  cell.setBackgroundRGB(255, 0, 0);
}
Parameters
名前タイプ説明
redIntegerRGB表記の赤の値。
greenIntegerRGB表記の緑の値。
blueIntegerRGB表記の青の値。

Return
Range - 連鎖用のセル範囲。

参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | setBackgroundRGB(red, green, blue)

背景色配列設定[setBackgrounds(色)]

setBackgrounds(color)
背景色の2次元配列を設定します(この範囲のサイズと一致する必要があります)。色はCSS表記( '#ffffff'や 'white'など)です。

function setBackgroundsSample() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];

  var colors = [
    ["red", "white", "blue"],
    ["#FF0000", "#FFFFFF", "#0000FF"] // These are the hex equivalents
  ];

  var cell = sheet.getRange("B5:D6");
  cell.setBackgrounds(colors);
}
Parameters
名前タイプ説明
colorString[][]CSS表記法による色の2次元配列( '#ffffff'や 'white'など)。 null値は色をリセットします。

Return
Range - 連鎖用のセル範囲。

参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | setBackgrounds(color)


セル範囲クラス[Range]の背景色取得

セル範囲の背景色取得メソッドです。

背景色取得[getBackground()]

getBackground()
範囲内の左上のセルの背景色を返します(たとえば、 '#ffffff')。

function getBackgroundSample() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];

  var cell = sheet.getRange("B5");
  Logger.log(cell.getBackground());
}

Return
String - 背景のカラーコードです。

参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | getBackground()

背景色配列取得[getBackgrounds()]

getBackgrounds()
範囲内のセルの背景色を返します(たとえば、 '#ffffff')。

function getBackgroundsSample() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];

  var range = sheet.getRange("B5:C6");
  var bgColors = range.getBackgrounds();
  for (var i in bgColors) {
    for (var j in bgColors[i]) {
      Logger.log(bgColors[i][j]);
    }
  }
}

Return
String[][] - 背景のカラーコードの2次元配列。

参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | getBackgrounds()




セル範囲リストクラス[RangeList]の背景色設定

セル範囲リストの背景色設定メソッドです。

背景色設定[setBackground(色)]

setBackground(color)
範囲リストの各範囲の背景色を設定します。色はCSS表記で表されます。たとえば、「#ffffff」や「white」などです。

function setBackgroundSample() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var rangeList = sheet.getRangeList(['A:A', 'C:C']);
  rangeList.setBackground('red');
}
Parameters
名前タイプ説明
colorStringCSS表記の背景色コード( '#ffffff'や 'white'など)。 null値は色をリセットします。

Return
RangeList - 連鎖用のセル範囲リスト。

参照:Google Apps Script | REFERENCE | SpreadSheet | Class RangeList | Methods | setBackground(color)

背景色RGB設定[setBackgroundRGB(赤, 緑, 青)]

setBackgroundRGB(red, green, blue)
背景を指定されたRGB色に設定します。これはsetBackground(color)呼び出しの便利なラッパーです。

function setBackgroundRGBSample() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var rangeList = sheet.getRangeList(['A:A', 'C:C']);
  // 範囲リストの各範囲の背景を赤に設定します。
  rangeList.setBackgroundRGB(255, 0, 0);
}
Parameters
名前タイプ説明
redIntegerRGB表記の赤の値。
greenIntegerRGB表記の緑の値。
blueIntegerRGB表記の青の値。

Return
RangeList - 連鎖用のセル範囲リスト。

参照:Google Apps Script | REFERENCE | SpreadSheet | Class RangeList | Methods | setBackgroundRGB(red, green, blue)


セル範囲クラス[Range]の交互の背景色設定

セル範囲の交互の背景色設定メソッドです。

交互の背景色設定[applyRowBanding()]

applyRowBanding()
範囲にデフォルトの行バンディングテーマを適用します。デフォルトでは、バンドにはヘッダーがあり、フッターの色はありません。

Return
Banding - 新しいバンディング。

参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | applyRowBanding()

交互の背景色設定[applyRowBanding(バンディングテーマ)]

applyRowBanding(bandingTheme)
指定された行バンディングテーマを範囲に適用します。デフォルトでは、バンドにはヘッダーがあり、フッターの色はありません。

Parameters
名前タイプ説明
bandingThemeBandingTheme範囲内の行に適用するカラーテーマ。

Return
Banding - 新しいバンディング。

参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | applyRowBanding(bandingTheme)

交互の背景色設定[applyRowBanding(バンディングテーマ, ヘッダー色有無, フッター色有無)]

applyRowBanding(bandingTheme, showHeader, showFooter)
指定された行バンディングテーマを、指定されたヘッダーとフッターの設定で範囲に適用します。

Parameters
名前タイプ説明
bandingThemeBandingTheme範囲内の行に適用するカラーテーマ。
showHeaderBooleantrueの場合、バンディングテーマのヘッダーの色は最初の行に適用されます。
showFooterBooleantrueの場合、バンディングテーマのフッターの色は最後の行に適用されます。

Return
Banding - 新しいバンディング。

参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | applyRowBanding(bandingTheme, showHeader, showFooter)

縞模様テーマ列挙型[BandingTheme]

交互の背景色に設定する縞模様のテーマです。

Enum BandingTheme
バンディングテーマの列挙。各テーマは、バンディング設定に基づいて異なるセルに適用されるいくつかの補色で構成されています。

Properties
プロパティタイプ説明
LIGHT_GREYEnumライトグレーのバンディングテーマ。
CYANEnumシアンのバンディングテーマ。
GREENEnum緑色のバンディングテーマ。
YELLOWEnum黄色いバンディングテーマ。
ORANGEEnumオレンジ色のバンディングテーマ。
BLUEEnum青色のバンディングテーマ。
TEALEnumティールバンディングのテーマ。
GREYEnumグレーのバンディングテーマ。
BROWNEnum茶色のバンディングテーマ。
LIGHT_GREENEnum薄緑色のバンディングテーマ。
INDIGOEnumインディゴバンディングのテーマ。
PINKEnumピンクのバンディングテーマ。

参照:Google Apps Script | REFERENCE | SpreadSheet | Enum BandingTheme


最後に

GAS背景色機能のまとめをご紹介させていただきました。

必要に応じて、有益な情報でさらに更新していきたいと思います。

プログラミングスキルを向上させるためには、本を読むだけでは脳にインプットされませんね。

実際に手を動かしてアウトプットしまくるのが一番の近道だと思います。

実際にサンプルソースをコピーして実行した結果がどうなるかを体験してみてください。

自分なりのアレンジを加えたり、なぜエラーになるのかを考え、何度も試行錯誤して問題を解決しまくり、着実に理解しながらスキルを向上させていきましょう。

GASはExcelVBAとはかなり違いますが、ベースとなっているJavaScriptは覚えて損はないプログラミング言語なのでショートカットキーなどと組み合わせてぜひ活用してみてください。

Googleスプレッドシート全ショートカットキー一覧はこちら↓↓↓

Googleスプレッドシートの使い方や機能がわかるショートカットキー全まとめ一覧【初心者こそ必見】
表計算ソフトとして、まだまだExcelのシェア率は高いですが、GoogleスプレッドシートにはExcelにはない超強力な関数があったり、Excelとは違って常に最新版を無料で使用できます。なにより、インターネットを使ったオンライン...

ショートカットキー一覧にもGASメソッドを載せています。どの操作からどのメソッドが呼ばれるのかイメージしてください。




コメント