• 締切済み

エクセル関数使用で赤色数字をカウントしたい

複数のセルより赤色で記入された数字(1~31)の数、すなわち一ヶ月に 何日出動したかを出したいのですが、半日は黒字、全日は赤字で別々のセルに一月分を赤、黒に区別して該当日の数字で入力済み、一年間合計は、赤黒関係なくcountで出力できましたが、赤黒別の合計ができなくて困っています。cell指定、カラー指定の方法を教えてください。 出動日数に赤字(一日)、黒字(半日)と区別して、手当てを支払う計算をエクセルで作成したいのです。総会が迫っていますので、会計係りとして困っています。よろしくご指導のほど、お願いいたします。

みんなの回答

  • kakkysan
  • ベストアンサー率37% (190/511)
回答No.3

こちらを使えば、セルの色情報を取り出す事ができます。 これができれば後は何とかできますよね。 http://kiyopon.sakura.ne.jp/soft/index.htm (このページ内を、「色番号」で検索して下さい)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

とりあえず以下ようなのユーザ関数で計算はできます。 以下のマクロをALT+F11でVBE画面を開き、「VBAProjectエクスプローラのシート名右クリック」→「挿入」→「標準モジュール」で表示される画面にペーストして下さい。 シートで =SumColor(A1:A100,B1) で集計します A1:A100 → 集計したい範囲 B1 → 集計したい文字色が設定してあるセル(赤色を集計したいなら B1の文字色を「赤」にしておくこと。ただしセルは空白でも可) Function SumColor(ByVal Rng, trg As Range) As Single Dim r As Range For Each r In Rng  If IsNumeric(r.Value) And _   r.Font.ColorIndex = trg.Font.ColorIndex Then   SumColor = SumColor + r.Value  End If Next r End Function ただしこの集計結果が更新(再計算)されるのはA1:A100、またはB1の値が変更されたタイミングです。ですから「数字を先に入力して、後から文字色を変更した」ような場合は再計算されません。 ですから、あまり使い勝手は良くないかもしれません。 なお#01さん同様「色を集計の条件にする」ことは反対です。 半日の列と、一日の列を分けるか、区分を別に入力しておくべきでしょう

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

エクセルの仕様を無視した集計方法です。 色を捕捉する関数はありません。 VBAで行うか、特殊な方法で行うか・・・。 http://oshiete1.goo.ne.jp/qa2433325.html

関連するQ&A