Excelで色付きセル(塗りつぶしたセル)をカウントする方法

この色のセルは何個?Excelで色のついたセルの数をカウントする

Excelで色付きセル(塗りつぶしたセル)をカウントすることができたら、「ガンチャートから工数を自動計算する」といったようなことができるので便利です。

Excelには色付きセルをカウントする関数はありませんが、ユーザー定義関数を作れば簡単にカウントできるようになります。

そこで今回は、Excelで色付きセルをカウントする方法をご紹介します。

STEP1)ユーザー定義関数を作る

Excelファイルを開き、[Alt]+[F11]でVBEを起動します。VBEは「開発」タブの「Visual Basic」をクリックでも起動しますが、ショートカットキーを使う方が簡単なので覚えておきましょう。

VBEを起動したら、「挿入」メニューをクリックして「標準モジュール」を選択し、立ち上がったウィンドウに以下のコードを入力します。

VBE

Function CountColorA(Rng As Range) As Long

 Dim myRng As Range
 Dim Col_cnt As Long

 Application.Volatile
 Col_cnt = 0

 For Each myRng In Rng
  If myRng.Interior.ColorIndex > 0 Then
   Col_cnt = Col_cnt + 1
  End If
 Next myRng
 CountColorA = Col_cnt
 
End Function

参考:
塗りつぶし色の付いたセルを数える。[Excel] Day After Day

標準モジュールに最初から入力されている「Option Explicit」は削除しちゃってOKです。

STEP2)数を表示したいセルに数式を入力する

VBEを最小化してExcelの操作画面に戻りましょう。

カウントを表示したいセルを選択し、数式「=CountColorA(対象範囲)」を入力します。「対象範囲」には、カウントするセル範囲を入力してください。

対象範囲がA1からJ1であれば、「=CountColorA(A1:J1)」とします。

Excelの操作画面

色付きセルの数を変更した場合は、[F9]を押せばカウントが更新されます。

上記画像の例で言うと、赤いセルを7個から4個に変えた場合、それだけではN1は「7」のままですが、[F9]を押せば「4」になります。

うまく更新されない場合は、数式のうしろに「+NOW( )*0」を付け、「=CountColorA(対象範囲)+NOW( )*0」としてから[F9]を押してみてください。

STEP3)マクロ有効形式で保存する

マクロ(ユーザー定義関数)を使っているので、マクロ有効形式でファイルを保存しましょう。

保存する際、ファイル形式のリストから「Excelマクロ有効ブック(*.xlsm)」を選択してください。

Excelの操作画面

おわりに

VBEの標準モジュールにコードを入力し、カウントを表示したいセルに数式を入力すれば、それだけで色付きセルがカウントされるようになります。作業時間的には1~2分くらいです。

色付きセルをカウントできれば、最初に述べた通り、ガンチャートから工数を導き出すことなども可能になります。是非いろんな場面で活用してみてください。

以上、Excelで色付きセルをカウントする方法でした。