OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

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

  • すぐに回答を!
  • 質問No.212717
  • 閲覧数14218
  • ありがとう数10
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 31% (7/22)

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

宜しくお願い致します。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2
レベル13

ベストアンサー率 68% (791/1163)

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

お礼率 31% (7/22)

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

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

丁寧なお答え、本当にありがとうございました。
投稿日時 - 2002-02-07 15:01:01
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル11

ベストアンサー率 27% (103/370)

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

このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ