色のついたセルの数を数える場面がありました。
標準では対応できないので、ユーザー定義関数を利用してカウントが可能です。
Excel2007以降での方法です、2003以前なら ColorIndexでの対応となります。
ユーザ定義関数を作成
Alt+F11 でVBAを表示
標準モジュールに以下のコード設定します。
標準モジュールがない場合は追加から設定
Function ColorCount(R1 As Range, C As Range)
Dim r As Range
Application.Volatile
ColorCount = 0
For Each r In R1
If r.Interior.Color = C.Interior.Color Then
ColorCount = ColorCount + 1
End If
Next r
End Function
計算式
=ColorCount(C4:C26,E4)
を設定すると色のついたセルを数えれます。
色のついたセルに入力されている数字を合計する
Function ColorSum(R1 As Range, C As Range)
Dim r As Range
Application.Volatile
ColorSum = 0
For Each r In R1
If r.Interior.Color = C.Interior.Color Then
ColorSum = ColorSum + r.Value
End If
Next r
End Function
を標準モジュールに設定
セルに式を設定します。
=Colorsum(C4:C26,E4)
これで、色のついたセルの数を数えるのと、
色のついたセルに設置している数字の合計を計算することができます。