• ベストアンサー

タイムカード エクセル 式

エクセルでタイムカードを管理してます。 就業時間に合わせて、自動的に式が入るようにしていただけないでしょうか。 ルールは8時間以上は昼1時間休憩とする。(一時間少なく計上) 就業時刻が休日(ブランク)のところはブランクで表示 5時から9時までは早朝時間に表示 黄色のところの式を考えていただけますよう よろしくお願いします。

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

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.4

>開始時間5時として、終了時間を9時前(8時半・8時・7時半・7時等)にするとE列はマイナスになってエラーになってしまいます。 通常の時間外手当でそのような条件は考えられなかったので組み込まれていませんでした。 基本の勤務時間が無いときは空欄にすれば良いのでIF関数の論理式にAND関数で条件を組み込めば良いでしょう。 E3=IF(AND(COUNT(C3:D3)=2,D3>"9:00"*1),(D3-MAX(C3,"9:00"*1)-IF(D3-C3>="8:00"*1,"1:00",0))*24,"") 序に、計算結果を時間数になるよう24倍する数式に変更しました。 F3=IF(AND(COUNT(C3:D3)=2,C3<("9:00"*1)),(MIN(D3,"9:00"*1)-C3)*24,"")

kayaba375
質問者

お礼

詳しく教えていただきありがとうございます。 おかげさまで助かりました。

その他の回答 (3)

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.3

回答No.2の補足です。 E列とF列は時間のシリアル値になりますので時給を乗じて賃金を計算するときは時間の値を24倍してください。 時間のシリアル値は次のようになっています。 1日=24時間=1 ∴ 1時間=1/24

kayaba375
質問者

補足

ありがとうございます。大変助かります。 一点質問です。開始時間5時として、終了時間を9時前(8時半・8時・7時半・7時等)にするとE列は マイナスになってエラーになってしまいます。 何か対策はありますでしょうか? 厚かましくて大変申し訳ありません。 よろしくお願いします。

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.2

>就業時間に合わせて、自動的に式が入るようにしていただけないでしょうか。 「自動的に式が入る」ことはありません。 あなたが自分で目的のセルに数式を入力してください。 >ルールは8時間以上は昼1時間休憩とする。 「昼1時間」とは12:00~13:00の範囲を休憩とするのでしょうか? 例えば13:00~21:00の勤務のとき8時間になりますが休憩は無いのでしょうか? 貼付画像では時間帯に関係なく8時間以上の就業時間のとき1時間の休憩をとるものとしました。 E3=IF(COUNT(C3:D3)=2,D3-MAX(C3,"9:00"*1)-IF(D3-C3>="8:00"*1,"1:00",0),"") F3=IF(AND(COUNT(C3:D3)=2,C3<("9:00"*1)),MIN(D3,"9:00"*1)-C3,"") E3とF3を下へ必要数コピーします。

  • kuma56
  • ベストアンサー率31% (1423/4528)
回答No.1

丸投げですか??? たぶんこの後に、丁寧に式を作った回答があると思うが、その前に自分で考えて工夫してみた方が、今後エクセルを使っていくうえでプラスになると思うがなぁ・・・・・ 例えば、 8時間以上は・・・・とか、 就業時刻が休日・・・・とか、 5時から9時までは・・・・という条件で判断するって事は、IF関数 を使うといいんじゃないのかな?? 条件を重ねて考えてみると、まず、 大前提は、開始時間が入っていなかったらブランクって言う条件式を考える。 次に、早朝の方に、大前提の次に、開始時間が九時より早かったら・・・という条件式を入れ子にしてやる。 基本のほうは、大前提の次に、勤務時間が八時間以上の時は・・・という条件式を入れ子にしてやり、そこから早朝の値を引いてやれば何とかなりそうだがどうだろうねぇ????

関連するQ&A