- ベストアンサー
エクセルでお小遣い表を作成しています。
エクセルでお小遣い表を作っているのですが、 費目ごとに色分けして集計したいと思っています。 セルに色をつけて、その色ごとに金額の合計を出したいのですが こういう場合は条件付き書式でしょうか? いろいろ試してみましたがわからなかったので どなたかいい方法がありましたらご伝授下さい。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ユーザー定義関数を作成する方法でやってみました。 1)お小遣い表を開いたら[Alt]+[F11] 2)左上のプロジェクトエクスプローラーの「VBAProject(ブック名)」を右クリック [挿入]→[標準モジュール] 3)右側に広く表示されたソースエディタに下記コードを貼りつける Function colSum(colRng As Range, cRng As Range) As Variant Dim rCell If colRng.Count <> 1 Then colSum = "色指定エラー" Exit Function End If colSum = 0 For Each rCell In cRng If rCell.Interior.Color = colRng.Interior.Color Then colSum = colSum + Val(rCell.Value) Next End Function これで関数「colsum」が使えるようになります。 表で、合計を求めたいセルに=colsum(色指定セル,金額範囲)を入れると合計値を計算します。 色指定セル:集計したい色が付いてるセルです。 金額範囲:お小遣いの金額が入っている色分けされたセルの範囲です。 たとえば =colsum(C1,B2:B100) はB2~B100の範囲にあるC1セルと同じ色のセルの合計を求めます。 ご参考になれば。
その他の回答 (1)
- merlionXX
- ベストアンサー率48% (1930/4007)
関数は、セル内の値を対象にするものですから通常の方法では書式である「色」別の集計は出来ません。(マクロなら可) 条件付書式も、「値」や「数式」をもとに書式を設定するので、逆はできません。 費目ごとに色づけする手間を考えたら、すなおに費目を隣の列に入れるようにしたら、SUMIF等の関数で集計できますよ。
お礼
そうなんですかー色別に集計はできないのですね。 値や数式をもとに書式を設定するんですね・・・ SUMIFですかー!やってみます!! ありがとうございました。
お礼
ユーザー定義関数っていうのがあるとは知らなかったです。 すごいですねー!! 早速やってみます。ありがとうございました!!