プロが教えるわが家の防犯対策術!

エクセルで、月別の労働シフト表を作っているのですが、労働日数をカウントしたいです。一日をAM、PMの二つのセルに分けて、そのセルに”○”を打ち込むタイプのシンプルな表です。”○”の総数はもちろん導き出せますが、これではAM,PMともに”○”をしている人を「2」とカウントしてしまいます。一日通しでシフトに入っている人も、AMのみでシフトに入っている人も、「1」としてカウントしたいです。よろしくお願いします。

A 回答 (3件)

どうしてよいかわからなかったら難しい式を教えていただくよりもよりもまずは作業列を使ってできないかどうか考えることです。

例えばB列にAM,C列にPMのデータがあるとしたらD1セルに次の式を入力して下方にオートフィルドラッグします。

=IF(COUNTIF(A1:B1,"○"),1,"")

その後に例えば =SUM(D:D) または =SUM(D1:D100)のように入力することで労働日数のカウントができますね。
D列が目障りでしたらD列を選択して右クリックし「非表示」を選択すればよいでしょう。
    • good
    • 0
この回答へのお礼

ありがとうございます。遠い昔に関数は勉強していたのですが、使う機会がなかったためにすっかり忘れてしまい、COUNTIFなどという簡単な関数すら使いこなせず・・・参考にさせていただきます!

お礼日時:2011/06/18 20:24

一例です。


計数範囲をA1:B10としています。
=SUM(IF((A1:A10="○")+(B1:B10="○"),1))として、入力完了時にshift+ctrl+enterキーを同時押下して下さい。
    • good
    • 0
この回答へのお礼

ありがとうございます。私としてはこれが最もすっきりした式に見えたので、これを採用しようとしました。・・・が、この数式、「結合セルでは表示できません」のエラー。「出勤日数」を表すセルを、回答者様の例で、A11、A12、B11、B12を結合したセルにしていたために、このようなエラーが出てしまいました。残念ですが、次回使うチャンスがあれば、ぜひ試したいと思います。

お礼日時:2011/06/18 20:29

 ”○”を入力する可能性があるセルの範囲が、どのセル番号のセルから、どのセル番号にかけてなのかが、御質問文中に記されておられないため、仮に、AMに出勤している事の記録をB3~B33に記入し、PMに出勤している事の記録をC3~C33に記入するものとした場合、労働日数をカウントするための関数は次の様なものになります。



=SUMPRODUCT((($B$3:$B$33="○")+($C$3:$C$33="○")>0)*1)
    • good
    • 0
この回答へのお礼

初めて見る関数だったため、勉強させていただきました。こんな方法もあったんですね!エクセルはほぼ初心者に近いので、とても参考になりました。ありがとうございました!

お礼日時:2011/06/18 20:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!