【3月6日実施】システムメンテナンス実施のお知らせ

給料計算がしたいと思っており。
B2に就業開始時間として数字が記載されている。
C2に休憩開始時間として数字が記載されている。
D2に休憩終了時間として数字が記載されている。
E2に就業終了時間として数字が記載されている。
記載されている数字は、
「1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24」のうちどれか。小数点にも対応してほしい。

・例1
B2に「7」と入力されていたら就業開始時間は「7:00」ということ。C2に「10」と入力されていたら休憩開始時間は「10:00」ということ。D2に「11」と入力されていたら休憩終了時間は「11:00」ということ。E2に「16」と入力されていたら就業終了時間は「16:00」ということ。

・例2
B2に「7.5」と入力されていたら就業開始時間は「7:30」ということ。C2に「10.5」と入力されていたら休憩開始時間は「10:30」ということ。D2に「11.5」と入力されていたら休憩終了時間は「11:30」ということ。E2に「16.5」と入力されていたら就業終了時間は「16:30」ということ。

時給は、以下のようになっている。
11時から14時の間だけ1000円。その他の時間は950円。

C2の時間からD2の時間は休憩時間なのでその間の休憩は0円とする。

上記の計算をした上でF2に解を出力。

以上の内容をお願いします

A 回答 (1件)

こんにちは



前提として、
 ・B2:E2に全てに数値が入力されている
 ・B2 ≦ C2 ≦ D2 ≦ E2 となっている
という条件を満足していると仮定してもよいならば、
計算だけであれば、
=(C2+E2-B2-D2)*950+(MAX(0,MIN(C2,14)-MAX(B2,11))+MAX(0,MIN(E2,14)-MAX(D2,11)))*50
で求められます。

ただし、上記のままだと、例えば全部が空欄の場合などに(前提条件とは異なるので)、おかしな値が表示されてしまいます。
「B2:E2に全て数値が入力されている」という条件も式中でチェックするなら、
=IF(COUNT(B2:E2)<4,"",(C2+E2-B2-D2)*950+(MAX(0,MIN(C2,14)-MAX(B2,11))+MAX(0,MIN(E2,14)-MAX(D2,11)))*50)
というように、条件が成立していることのチェックを加えれば良いでしょう。
「B2 ≦ C2 ≦ D2 ≦ E2」のチェックも同様ですが、式が長くなるので省略します。

※ 条件が成立していないと、正しい結果は得られませんので、チェックが必要な場合は追加してください。
    • good
    • 0
この回答へのお礼

ありがとうございます

お礼日時:2023/11/28 10:47

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A