全ての色のついたセルをカウントするには?
Excelでデータの中に色のついたセル(塗りつぶしがあるセル)の数をカウントしたい場合、VBAを使用して色を問わず塗りつぶしのあるセルのみをカウントすることができます。この記事では、どの色でも塗りつぶしがあるセルをすべてカウントするVBAコードを解説します。
方法: VBAマクロで全ての色付きセルをカウントする
標準機能では、色付きセルのみを一括でカウントする方法はないため、VBAを使用します。このVBAコードを使えば、指定範囲内にある色付きセル(どの色でも)を一括でカウントできます。
VBAコード
- 「開発」タブから「Visual Basic」をクリックして、VBAエディタを開きます。
- 「挿入」→「標準モジュール」を選択し、以下のコードを貼り付けます。
VBAコード:
Function CountAllColoredCells(rng As Range) As Long
Dim cell As Range
Dim count As Long
count = 0
For Each cell In rng
' 塗りつぶしがあるセルをカウント
If cell.Interior.ColorIndex <> -4142 Then ' -4142は「色なし」を示す
count = count + 1
End If
Next cell
CountAllColoredCells = count
End Function
VBAコードの説明
- cell.Interior.ColorIndex <> -4142: ColorIndexが-4142の場合は「色なし」を意味します。これを除外することで、色のあるセルのみカウントします。
- count = count + 1: 色のついたセルが見つかるたびに1を追加し、カウントを進めます。
使い方
- VBAエディタを閉じ、Excelシートに戻ります。
- 色のついたセルが含まれている範囲(例:A2:A20)に対して、カウント結果を表示したいセル(例:B2)に次の数式を入力します:
=CountAllColoredCells(A2:A20)
これにより、範囲内にあるすべての色付きセル(どの色でも)がカウントされます。
例
以下の表では、A列に色のついたセルが含まれており、B列にはA列の範囲内の色付きセルの数が表示されます。
A | B | |
---|---|---|
1 | セルデータ | 色付きセルの数 |
2 | データ1 | =CountAllColoredCells(A2:A10) |
3 | データ2 | |
4 | データ3 | |
5 | データ4 | |
6 | データ5 |
結果
- B2セルには、A列で色のついたセルの数が表示されます。
- 色の種類を問わず、塗りつぶしがあるセルのみがカウントされます。
特定の色のセルをカウントしたい場合

特定の色で塗りつぶされたセルの数をカウントするには? | EXCELトピックス
色のついたセルをカウントするには?Excelでは、条件付き書式や手動で色付けされたセルの数をカウントすることができます。標準機能だけでは直接カウントできないため、VBAを使用して特定の色のセルをカウントする方法も解説します。方法1: フィルター機能で色付きセルをカウントする方法Excelのフィルター機能を使用して色付き...
まとめ
Excelで特定の色に限らず、塗りつぶしがあるすべてのセルをカウントするには、VBAマクロを使用するのが便利です。CountAllColoredCells関数を使うことで、任意の範囲内にある色付きセルを自動でカウントできます。
開発タブが表示されていないとき

開発タブを表示させるには? VBAやマクロの設定のために | EXCELトピックス
開発タブが表示されず、VBAやマクロの設定ができない場合の対処法ExcelでVBAやマクロを使用するためには、「開発」タブが必要ですが、初期設定では表示されていません。「開発」タブを表示する設定方法を以下にご紹介します。開発タブを表示させる方法「開発」タブは、Excelのオプション設定で表示することができます。以下の手...