• 締切済み

色がついていないところをカウントする方法

こんにちは エクセルで年間カレンダーを作成しました 土日祝日には赤でセルに色がつけられています (ずーと横一列に続くカレンダーです) 上半期、下半期、年間トータルでの出勤日をカウントするのに、何かよい方法はありませんか? COUNTA関数で、土日祝日を含めたトータルは出せますが、土日祝日を省いたトータルは無理ですよね? COUNTIF関数で、セルを色づけした部分をCOUNT・・・のような設定に出来ればベストかな?と思っているのですが、色を条件にする方法が分かりません どうしても無理な場合には COUNTA関数で区切って範囲を指定する方法になるのかなと思っていますが 今後のことも考えて 何か良い方法があればお願いします

みんなの回答

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

色を条件だとVBAの知識が必要です。 数式だけの場合は別途休日(土日を除く)の一覧表を用意 日付は年月日で入力(ない場合は=DATE(年のセル,月のセル,日のセル)で日付化する。) 年間=SUMPRODUCT((COUNTIF(一覧表の範囲,日付の範囲)<>0)*(WEEKDAY(日付の範囲,2)<6)*(出社時刻の範囲<>0)) 上期=SUMPRODUCT((COUNTIF(一覧表の範囲,日付の範囲)<>0)*(WEEKDAY(日付の範囲,2)<6)*(出社時刻の範囲<>0)*(日付の範囲<DATE(2006,10,1)) 下期=SUMPRODUCT((COUNTIF(一覧表の範囲,日付の範囲)<>0)*(WEEKDAY(日付の範囲,2)<6)*(出社時刻の範囲<>0)*(日付の範囲>DATE(2006,9,30))

shimashimashima
質問者

お礼

お礼が遅くなり申し訳ありませんでした いろいろな関数があるなぁといつも思わさせるエクセルの世界は本当に奥が深いですねぇ 少しずつ勉強できればと思います

  • lanif
  • ベストアンサー率62% (170/273)
回答No.2

NETWORKDAYS関数ではどうでしょうか? NETWORKDAYS関数は、開始日から終了日までの期間に含まれる稼動日数を求める関数です。 この場合の稼働日数とは、土曜日と日曜日および指定した休日などを除く実働日のことなので条件にあいませんか? 指定した期間内に土曜日と日曜日があれば、自動的に日数計算から除外されますし、計算から除外したい休日や祭日は引数で指定します。 なお、NETWORKDAYS関数は標準インストールでは搭載されていない関数ですから、ツール(T)のアドイン(I)から分析ツールを追加する必要があります。※OFFICEのCDが必要だと思います。 書式で表すと、NETWORKDAYS(開始日, 終了日, 祭日)となります。 引数の開始日は、対象期間の最初の日を表す日付を指定します。 終了日も同じく、対象期間の最終日を表す日付を指定します。 日付文字列をセル参照ではなく、直接指定する場合は、 半角のダブルクォーテーション (") で囲みます。 祭日の取り扱いは、WORKDAY関数と同じです。 祝日や夏休みなどのように期間計算から除外する日付を指定します。 除外する日がない場合は、省略することができますし、 除外日が多い場合は、シート上へリストを作りこの範囲を指定します。なお、配列定数で指定することもできます。 因みにWORKDAY関数は、開始日から起算して、指定した稼動日数後(あるいは前)の日付(シリアル値)を求める関数です こう書いてますが私もまだまだ受け売りです(笑) 他にもアドオンで分析用の関数があるので参考URLなどを御覧下さい。

参考URL:
http://www.atmarkit.co.jp/fwin2k/win2ktips/383workday/workday.html
shimashimashima
質問者

お礼

お礼が遅くなって申し訳ありません ありがとうございます 関数を追加することもできるんですね 知りませんでした ただ、使用しているのは会社のパソコンなので 勝手に追加してしまっていいのか・・・ また、別のPCで開けたときにそれが機能するのか いろいろ不安なので この方法には踏み切れない・・・・かなぁ・・・ と思いました・・・残念!

  • otoutann
  • ベストアンサー率26% (248/933)
回答No.1

色づけしたセルの下の行に作業用の行を追加(高さを限りなく小さく すれば目立ちません)して、そこに○とかをいれて、その行の書式を ;;;にしておけば見えませんので、その行をCOUNTIF関数で数えれば、 ご希望のことはできますが。

shimashimashima
質問者

お礼

お礼が遅くなって申し訳ありませんでした ご回答いただきありがとうございます その方法は私も考えましたが、ちょっと手間がかかりすぎるなぁと思いました また何かありましたら宜しくお願いします

関連するQ&A