プロが教える店舗&オフィスのセキュリティ対策術

エクセルで、セルに色を付け、
そのセルだけの合計を出すような
数式はあるのでしょうか?

宜しくお願い致します。

A 回答 (2件)

Excelの基本的な機能ではできないと思います。

ユーザー定義関数を作ってみました。

 =Total_Color(集計範囲,色を指定するセル1,色を指定するセル2・・・)

のように使います。集計範囲は矩形範囲のみの対応です。

例えば、集計範囲がA1:C10で、A2の色とB3の色のどちらかと同じ色のセルの合計なら
 =Total_Color(A1:C10,A2,B3) とします。

また、色の付いたセルを全て集計する場合は =Total_Color(集計範囲) とします。
色を指定するセルに『色を付けていないセル』を指定すれば色の付いていないセルを合計します。

ツール→マクロ→Visual Basic Editor でVBE画面に移り、挿入→標準モジュールで標準モジュールを挿入し、そこに下記コードを貼り付けます。


Public Function Total_Color(rgArea As Range, ParamArray rgColor())
  Dim rg As Range 'セル
  Dim chk As Integer '色の照合チェック
  Dim TTL As Double '合計値

  If UBound(rgColor) = -1 Then
    '集計する色を指定していない場合は、色が付いたセルをすべて集計する
    For Each rg In rgArea
      If rg.Interior.ColorIndex <> xlNone Then
        TTL = TTL + Val(rg.Value)
      End If
    Next
    Total_Color = TTL
  Else
    '色の指定がある場合
    For Each rg In rgArea
      For chk = LBound(rgColor) To UBound(rgColor)
        '指定した色(複数)と一致したら合計する
        If rgColor(chk).Interior.ColorIndex = rg.Interior.ColorIndex Then
          TTL = TTL + Val(rg.Value)
          Exit For
        End If
      Next
    Next
    Total_Color = TTL
  End If
End Function
    • good
    • 2
この回答へのお礼

なるほど、関数を作らないとだめだったんですね。

教えていただいた通りやってみたところ、
上手く集計できました!
素晴らしいです!

丁寧なお答え、本当にありがとうございました。

お礼日時:2002/02/07 15:01

こんにちは。


エクセルの質問サイトに同様の質問がありますので、参考urlご覧下さい。

参考URL:http://cgi.fuji.ne.jp/~fj2094/cgi-bin2/wwwlng.cg …
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!