アプリ版:「スタンプのみでお礼する」機能のリリースについて

Aさん場合、M3のセルにC3からL4までの勤務時間を表示させたいです。
午前・午後共に「空白」の場合、8時間
午前又は午後に「半」の場合、4時間
午前又は午後に「休」の場合、カウントしない。または0時間
となるようにしたいです。

お力添えをどうかよろしくお願いします。

「【至急】勤務計算のために空白をカウントし」の質問画像

質問者からの補足コメント

  • うーん・・・

    COUNTBLANK関数を使用した場合、「休」の下の空白までカウントしてしまうので正しい時間が表示できずに困っています。

    No.1の回答に寄せられた補足コメントです。 補足日時:2017/09/05 09:44
  • つらい・・・

    言葉が足らずに申し訳ございません。
    実は本物の勤務表は、「半」「休」以外の記号も使っているので

    午前と午後が「空白」の場合、勤務8時間
    午前又は午後、「半」の場合、勤務4時間
    午前又は午後、「早」の場合、勤務5時間
    午前又は午後、「遅」の場合、勤務6時間

    午前「半」の場合、午後「空白」は4時間ですが
    午前「遅」の場合は、午後「空白」は2時間となっています。
    なのでCOUNTIF(C3:L4,"")*4 のように空白を全て4時間で計算してしまうと
    合計に影響してしまうんです。
    最初に思いついた案は
    午前・午後が共に空白の場合、8時間+COUNTIF(C3:L4,"半")*4
    +COUNTIF(C3:L4,"早")*5+COUNTIF(C3:L4,"遅")*6
    とすれば正しい勤務時間がでるのでは?と思ったのですが
    午前・午後が共に空白の場合8時間とする。という関数がわからず困っています。

      補足日時:2017/09/05 11:04

A 回答 (7件)

COUNTBLANK関数を使えば空白をカウントできます

この回答への補足あり
    • good
    • 0

>COUNTBLANK関数を使用した場合、「休」の下の空白までカウントしてしまうので正しい時間が表示できずに困っています。


あぁ、なるほど
空白カウントしたいしか読んでませんでした、すみません
対処はあるんですけど、多少めんどくさいし
見辛い式を書くのは好きじゃないんですよね

そもそもその表に対して指摘したいのですが
時間帯を午前午後の二つのセルに分ける必要がその画像からだと分かりません
1つのセルにして中に書く文字を「休」「AM半」「PM半」みたいなかんじじゃダメでしょうか?

そうすればシンプルな式で済むと思いますが
    • good
    • 0

自分なら普通に引き算させるなあ。



(全体のセルの数)-(”休”のセルの数)-(”半”のセルの数)
これで全日の日数が求められる。
これに8を掛ければいい。
あとは半日の日数を数え、
それに4を掛けて全日の時間に足せばいい。

・・・
全体のセルの数はM3セルなら、C3セルからL3セルまでの範囲のセルの数を数えればいい。
 COLUMNS(C3:L3)
これでいい。

・・・余談・・・
午前中と午後で時間をそれぞれ求めるようにすれば
午前中はお休みして午後から出社するというパターンの計算もできます。
工夫してみてください。
    • good
    • 0

M3: =4*(COUNTIF(C3:L4,"")-COUNTIF(C3:L4,"休"))

    • good
    • 0

>午前・午後が共に空白の場合8時間とする。

という関数がわからず困っています。
それだけであれば

=IF(AND(C3="",C4=""),8時間)
って感じで出来ますけど
    • good
    • 0

》 実は本物の勤務表は、「半」「休」以外の記号も使っているので…


後から後から情報を追加して、回答者を翻弄するのはやめてください!
    • good
    • 0

こんにちは



読んでいないのか、そのままの回答でないので無視していらっしゃるのかはわかりませんが、No3様の回答がわかり易いのではないかと思います。
後出しで条件が増えたり変わったりするのは、回答者達に嫌われる質問の典型ですが、No3様の考え方ならそのまま応用することが可能ではないでしょうか??

例えば、そのままで記述するなら
=COLUMNS(C3:L4)*8-COUNTIF(C3:L4,"休")*8-COUNTIF(C3:L4,"半")*4-COUNTIF(C3:L4,"早")*3-COUNTIF(C3:L4,"遅")*2
とか。

しかしながら、この方法は単純にセルの数を数えているだけですので、想定していない入力があると結果は必ずしも正しくならない可能性があります。
例えば、同じ日の午前午後に「休」と記入してある場合 などなど…

このような可能性をチェックして解釈しなおす関数式も作成は可能ですが、それぞれの記入されているセルのカウントをSUMPRODUCTや配列数式などを利用することになると思いますので、全体の式は相当に長くなります。
時間があれば、「SUMPRODUCT、 配列数式」といったあたりを研究してみてください。
    • good
    • 0
この回答へのお礼

ご意見ありがとうございます。
無視していたのではなく、No3様案の場合、列数で計算するとカレンダーにすると
8月分(31日)と9月分(30日)で空白の数に違いが出てくるので別の案を探していたのですが

=COLUMNS(C3:L4)*8 の部分を =COUNTA(C3:L4)*8にすることで無事に解決致しました。

この度は私の言葉足らずで、ご迷惑お掛けして申し訳ございませんでした。
ご協力して頂いた皆様に心から感謝しております。

お礼日時:2017/09/05 14:04

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