• ベストアンサー

Excel関数で休日出勤日数を計算

図のようなフォーマットで勤務表を作ってます。 C13セルからE15に関数を入れて、出勤者ごとに休日出勤する日数をカウントしたいです。 休出かそうでないかはB列で判断します。 B列に「休」と入っている日が休日で、休日が「休」でなかったら休日出勤です。 この例ではそれぞれ山田さんは0日、田中さんは1日、鈴木さんは3日の休日出勤があります。 C13セルからE15にどんな関数を入れたらいいでしょうか? このフォーマットはある程度変えてかまいません。 また作業用のセルもある程度使ってかまいません。 シンプルでわかりやすいやり方だとうれしいです。 よろしくお願いします。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

こんばんは。 >休日が「休」でなかったら休日出勤です。 C13に =SUMPRODUCT(($B2:$B12="休")*(C2:C12<>"休")) と記入し、右にコピーします。

trap1130
質問者

お礼

とても早い回答ありがとうございました。

その他の回答 (4)

  • g00z
  • ベストアンサー率0% (0/1)
回答No.5

#3です。 質問の内容を間違えました。。 #3忘れて下さい(汗

回答No.4

配列数式ですが・・・ セルC13には =SUM(IF($B$2:$B$11>C2:C11,1,0)) の式を入れて「Ctrl」+「Shift」+「Enter」を押したのち、セルC15まで式をコピーします {=SUM(IF($B$2:$B$11>C2:C11,1,0))} ←式の前後に{}が入ります

trap1130
質問者

お礼

ありがとうございます。 どういう仕組みになっているのか理解できませんでしたが、正しく計算されてて驚きました。

  • g00z
  • ベストアンサー率0% (0/1)
回答No.3

C13へ =SUM(IF(($B$2:$B$11="休")*(C2:C11="休"),1,"")) をコピーして貼り付け 『Ctrl』+『Shift』+『Enter』 で求める日数がでます 貼り付けの際『#VALUE!』と出たらダブルクリックなどして 一度編集できる状態にしてから 『Ctrl』+『Shift』+『Enter』 あとは、D列E列・・・とコピーするだけ

trap1130
質問者

お礼

ありがとうございました

回答No.2

C13 =countifs($B2:$B11,"休",c2:c11,"<>休")  ……Excel2007以後 あるいは =sumproduct(($B2:$B11="休")*(C2:C11<>"休"))  ……Excel2003以前

trap1130
質問者

お礼

早い回答ありがとうございました。

関連するQ&A