• ベストアンサー

色付セルの集計(エクセル)

エクセルで、セルに色を付け、 そのセルだけの合計を出すような 数式はあるのでしょうか? 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.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

namakome
質問者

お礼

なるほど、関数を作らないとだめだったんですね。 教えていただいた通りやってみたところ、 上手く集計できました! 素晴らしいです! 丁寧なお答え、本当にありがとうございました。

その他の回答 (1)

  • hiromuy
  • ベストアンサー率27% (103/370)
回答No.1

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

参考URL:
http://cgi.fuji.ne.jp/~fj2094/cgi-bin2/wwwlng.cgi?print+200102/01020011.txt

関連するQ&A

専門家に質問してみよう