- ベストアンサー
エクセルで勤怠の数式について
- エクセルで勤怠の数式について詳しく教えてください。実働時間や時給、保障時間に関連する数式の書き方がわかりません。
- 勤怠管理のためにエクセルで数式を使いたいです。特に実働時間が12時間を超えた場合の時給計算方法がわからず困っています。
- 勤怠の数式で時間内と時間外の給与計算をしたいのですが、実働時間が12時間を超える場合の計算方法がわかりません。どのような数式を使えば良いでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ホント、惜しい!!、もうチャットだった!... 此れでドォホ?? =IF(F16="","",IF(F16<(12/24),12,ROUND((ROUND(F16*24,2)),0))*G16) 1日12時間保証、12時間超は30分以上切り上げ!...、よく潰れんナァ~!!
その他の回答 (2)
- kagakusuki
- ベストアンサー率51% (2610/5101)
御質問文中の関数では、 F16の値が1時間(11時間でも、12時間でもない)を超える場合には、例え実働時間が1時間01分しかなかった場合であっても11時間分の給金を表示し、 F16の値が1時間以下(丁度ぴったり1時間の場合を含む)場合には、36秒刻みで時間を計算し、36秒未満の端数に関しては、「17秒捨18秒入」で実働時間が何時間になるのかを計算し、その値に時給を掛けて、1円未満の端数に関しては四捨五入(0.4円捨0.5円入)で計算した給金を表示する、 という関数となっています。 何をやりたいのかという事に関して、御質問文の内容では説明不足ですので、確認したい事が何点か御座います。 (1)「F16>0.041666667」という箇所が御座いますが、これは実働時間が1時間以下(丁度ぴったり1時間の場合を含む)場合には、給金が出ない様にするための設定なのでしょうか? それとも、0.041666667は"12;00"の間違いで、実働時間が1分だけの場合でも給金は出るのでしょうか? (2)「11*G16」という箇所が御座いますが、これでは実働時間が12時間を超えた場合には11時間分の給金しか出ない事になります。 これに対して、実働時間が丁度12時間の場合には、ちゃんと12時間分の給金が出る事になります。 このため、長く働いた場合の方が給金が少なくなる事になりますが、実働時間が12時間を超えた場合でG16に掛けるのは本当に11時間で宜しいのでしょうか? (3)「ROUND(F16*24,2)」という箇所が御座いますが、これでは36秒刻み(0.01時間=36秒)で時間を計算し、36秒未満の端数に関しては、「17秒捨18秒入」で何時間になるのかという計算になってしまいます。 若しかしますと、時間の計算は36秒刻みではなく、1分刻みで行いたいと考えておられるのでしょうか? 5分刻みや15分刻みではなく、1分刻みで宜しいのでしょうか? 又、世間では、時間の端数の処理は切り捨てとしている会社が殆どですが、本当に四捨五入で宜しいのでしょうか? 以上の事柄が不明なため、質問者様のやりたい事が判りかねます。 そのため、質問者様の用途に沿っているか否かは不明ですが、取り敢えず、 ●実働時間が1時間以下(丁度ぴったり1時間の場合を含む)場合には給金が出ない ●実働時間が12時間を超えた場合には11時間分の給金しか出ない ●実働時間が12時間以下(丁度ぴったり12時間の場合を含む)の場合には、時給計算を行う ●時給計算は1分単位で行い、その際、1分未満の端数が30秒未満の場合は端数切り捨て、30秒以上の場合は端数切り上げを行う という条件で考えますと、次の様な関数となります。 =IF((0&$F16)-"1:00">0,ROUND(IF($F16-"12:0">0,11,ROUND($F16*1440,0))*$G16,0),"")
- aokii
- ベストアンサー率23% (5210/22062)
データの書式が解りませんが、以下でどうでしょう。 =IF(F16>0.041666667,11*G16,0)