
Googleスプレッドシートで、「色付きのセルの個数」を数える方法をご紹介します。色付きのセルの数値を合計する方法や、GAS(Google Apps Script)を使って「指定の色と同じ色のセルを数える」関数を作成する方法も解説しているので、ぜひ参考にしてみてください。
色付きセルをカウントする(関数)
【手順①】フィルタで「色」を絞り込む

数えたい色だけが表示されるように、フィルタで絞り込みます。
- カウントしたいデータ範囲を選択します。
- メニューの「データ」→「フィルタを作成」をクリックします。
- 見出しのアイコン(▼)を開き、「色でフィルタ」→「塗りつぶしの色」→「色」を選びます。
【手順②】表示されている行だけ数える
SUBTOTAL関数で数える

以下のような数式を入力して、表示されている行だけをカウントします。
例:=SUBTOTAL(3,B3:B5)
💡ポイント: 関数コードの「3」は、非表示の行を無視して数える「COUNTA」という意味です。
SUBTOTAL関数の引数:(関数コード, 範囲1, [範囲2, …])
参考:SUBTOTAL関数の詳しい解説は、「非表示の行を含めない集計!」の記事をご覧ください。
右下のステータスで確認する

【手順】
- 数えたい範囲をドラッグして選択します。
- 右下のステータスから「個数」を選んで確認します。
色付きセルを合計する(関数)

「カウントする」ときと同じようにフィルタで絞り込み、以下のいずれかの方法で合計します。
1. SUBTOTAL関数で合計する
- 例:
=SUBTOTAL(9,B3:B5) - 💡ポイント: 関数コードの「9」は、非表示の行を無視して合計する「SUM」という意味です。
2. 右下のステータスで確認する
- 数えたい範囲をドラッグして選択します
- 右下のステータスから「合計」を選んで確認します。
色付きセルをカウントする(GAS)
スクリプト(プログラム)を作る

【手順①】
- メニューの「拡張機能」→「Apps Script」を開きます。
- エディタにある元々のコードを消して、以下のコードを貼り付け、「プロジェクトを保存」をクリックします。
/**
* 指定した範囲内のセルの色をカウントする
* @customfunction
*/
function COUNTCOLOR(range, colorRef) {
// 現在のシートを取得
const sheet = SpreadsheetApp.getActiveSheet();
// 指定した範囲(B2:B5など)のアドレスを取得
const formula = SpreadsheetApp.getActiveRange().getFormula();
const args = formula.match(/\((.*)\)/)[1].split(',');
// 見本となるセルの色を取得
const color = sheet.getRange(args[1].trim()).getBackground();
// 集計範囲の色を取得
const backgrounds = sheet.getRange(args[0].trim()).getBackgrounds();
let count = 0;
for (let i = 0; i < backgrounds.length; i++) {
for (let j = 0; j < backgrounds[i].length; j++) {
if (backgrounds[i][j] === color) {
count++;
}
}
}
return count;
}
【手順②】
- 「実行」をクリックして、正常に作動するかどうかを確認します。※初めて実行する場合は「承認」が必要です。
シートで関数を使う

シートに戻って、以下のように入力します。
例:=COUNTCOLOR(B2:B5, D2)
【数式の解説】
B2:B5:数えたい範囲D2:数えたい色のセル
注意点:色を変えた後は、数式を一度消してから、数式を入れ直します。