• ベストアンサー

教えてください!

ExcelXPで曜日別に稼働日をカウントさせたいのですが、休みの場合はカウントしないようにするにはどのような関数を入力すればいいのか教えてください。下のような表から拾い出しをしたいと思っています。 日付  曜日  天気  客数 1  月曜日  晴れ  100 2  火曜日  休み    3  水曜日  曇り   95 4  木曜日  晴れ  103 5  金曜日  雨    60 6  土曜日  曇り  100 7  日曜日  曇り   86 8  月曜日  休み 9  火曜日  晴れ  100 10 水曜日  晴れ  100 こんな感じで一月の表があります。 大変困っています。どうかよろしくお願いします。

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

  • ベストアンサー
回答No.1

イマイチ質問の意味が分かりづらいのですが、「天気」列が「休み」以外になっている日数を曜日別に集計したいということでいいですかね? タイトルが行1、それ以下1日が行2、2日が行3…、日付列が列A、曜日列が列B…、となっていることを前提に書きます。 セルE2に「=if(C2="休み","",B2)」と入れます。これを下の方へコピーしていきます。(31日/行32まで) エクセルではセル単位でコピーをすると自動的に参照先を変えてくれますから、これで列Eには、休みのときは空白、休みのとき以外は曜日が表示されるはずです。 さて、ここで集計結果を書きたいセルに「=countif(E2:E32,"月曜日")」と入れます。火曜日以降も同様の式で集計できます。

aki214
質問者

お礼

素早い回答ありがとうございました。大変参考になりよろこんでいます。会社に行って頑張ってみます。

その他の回答 (3)

  • Taketoshi
  • ベストアンサー率41% (23/56)
回答No.4

ピボットテーブルを使ってみてはいかがでしょうか。 <作り方> (1)テーブルを作成するセルを選択 (2)[データ]-[ピボットテーブル レポート]を選択 →ピボットテーブルウィザードを表示 (3)Excelのリスト/データベース、ピボットテーブルをチェックして、[次へ]押下 (4)範囲を、タイトル行から最終行までに設定し、[次へ]押下 (5)[レイアウト]押下 →レイアウトウィザードを表示 (7)[行(R)]に[曜日]をドラッグ (8)[データ(D)]に[客数]をドラッグ → [データの個数:客数]になっていることを確認 →なっていなかったら、[データの個数:xxxx]をダブルクリックし、データの個数を選択 (9)[OK]押下 (10)[完了]押下 これで、曜日ごとの稼動日数の集計表ができます。 データの個数を合計にすると、曜日ごとの客数の集計表ができます。 いろいろと動かしてみると、思いもよらないいい表が出来上がります。

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

一度でやるなら、SUMPRODUCTになります。 =SUMPRODUCT(($B$2:$B$11="月曜日")*($C$2:$C$11<>"休み")) で計算できます。

回答No.2

カウント関数を使用するのがいいと思います。 =COUNTA(セル範囲)-COUNTIF(セル範囲,"休み") 日付 曜日 天気 客数 をそれぞれ A1 B1 C1 D1セルに入っていたとすればセル範囲はC2:C15となります。 COUNTAは空白でないセルの個数を数えます。 つまり全体の日数を数えます。 COUNTIFは条件に合うセルの個数を数えます。 この場合はセル範囲に”休み”があるセル個数を数えます。 よって全体の数から休みの数を引くと稼働日が出る という関数式です。

aki214
質問者

お礼

素早い回答ありがとうございました。大変参考になりました。会社に行って頑張ってみます。

関連するQ&A