Googleスプレッドシートでセル背景色のカラーコード取得|GASで色をデータ化

セルの背景色のカラーコードを確認したいと思っても、関数では取得することができず困ったことはありませんか?
たとえば、特定の色のセルだけを別シートに転記したり、集計の対象にしたりしたい場面でも、色の確認に手間がかかってしまいます。
そこで今回は、Google Apps Script(GAS)を使って、選択したセルの背景色をカラーコードで取得する方法をご紹介します。
カラーコードを取得することで、
- 特定の色の付いたセルを別シートに転記
- 色ごとの集計
- 特定の色を条件に通知
などに活用できるようになります。
完成イメージ

- 選択した範囲を対象にカラーコードを取得
- カラーコードは、
#RRGGBB
形式の文字列で出力
GASを実行すると、選択した範囲のセルの右側にカラーコードが出力されます。
例:
- 背景色:薄い赤 →
#F4C7C3
- 背景色:薄い青 →
#AAC7EC
- 背景色:薄い緑 →
#A8E79B
※背景色がデフォルトの白背景セル#FFFFFF
は取得対象外となり、空欄になります。
GASの実行手順

スプレッドシートを開いて、色を取得したいセル範囲を選択します

Googleスプレッドシートを開き、メニューの「拡張機能」から「Apps Script」をクリックしてGASエディタを開きます。

function myFunction(){
}
が最初から入っているため、消去して以下のスクリプトを貼り付けます。
function getBackgroundColorsOfSelectedRange() {
const sheet = SpreadsheetApp.getActiveSheet();
const range = sheet.getActiveRange();
const backgrounds = range.getBackgrounds();
// カラーコードの配列を生成(白は空欄にする)
const colorCodes = backgrounds.map(row =>
row.map(color => {
const hex = color.toUpperCase();
return (hex === "#FFFFFF") ? "" : hex;
})
);
const startColumn = range.getLastColumn() + 1;
const targetRange = sheet.getRange(range.getRow(), startColumn, range.getNumRows(), range.getNumColumns());
targetRange.setValues(colorCodes);
}
スクリプトの説明
- 現在開いているシートと選択範囲を取得
-
const sheet = SpreadsheetApp.getActiveSheet(); const range = sheet.getActiveRange();
getActiveSheet()
で現在開いているシートを取得し、getActiveRange()
で選択中の範囲を取得します。
- 選択範囲の背景色をカラーコードで取得
-
const backgrounds = range.getBackgrounds();
- 選択範囲の各セルの背景色をカラーコードで取得します。
- 結果は2次元配列になります。
- カラーコードの配列を作成
-
const colorCodes = backgrounds.map(row => row.map(color => { const hex = color.toUpperCase(); return (hex === "#FFFFFF") ? "" : hex; }) );
- 各セルのカラーコードを大文字 (
#FFFFFF
形式) に変換します。 - 白色 (
#FFFFFF
) のセルは空欄にする仕様になっています。
- 各セルのカラーコードを大文字 (
- 取得したカラーコードを右隣のセルに出力
-
const startColumn = range.getLastColumn() + 1; const targetRange = sheet.getRange(range.getRow(), startColumn, range.getNumRows(), range.getNumColumns()); targetRange.setValues(colorCodes);
- 選択範囲の右の列に、取得したカラーコードを貼り付けます。

スクリプトを書いたら、好きな名前を付けて保存します。
(例:「カラーコード取得」)

選択した範囲の右隣に、背景色のカラーコードが出力されます。
まとめ
関数では取得できない背景色のカラーコードも、GASを使うことでカンタンに取得することができます。
カラーコードを取得することで、その色を条件に「別シートに転記」「集計」「抽出」といった場面で役立てられます。
GASと組み合わせて、色を条件にした業務の自動化や効率化も実現しやすくなります。
弊社では、Google Apps Script(GAS)を活用した業務効率化のサポートを提供しております。
GASのカスタマイズやエラー対応にお困りの際は、ぜひお気軽にご相談ください。
また、ITツールの導入支援やIT導入補助金の申請サポートも行っております。
貴方の業務改善を全力でサポートいたします。
コメント