• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで勤怠の数式について)

エクセルで勤怠の数式について

このQ&Aのポイント
  • エクセルで勤怠の数式について詳しく教えてください。実働時間や時給、保障時間に関連する数式の書き方がわかりません。
  • 勤怠管理のためにエクセルで数式を使いたいです。特に実働時間が12時間を超えた場合の時給計算方法がわからず困っています。
  • 勤怠の数式で時間内と時間外の給与計算をしたいのですが、実働時間が12時間を超える場合の計算方法がわかりません。どのような数式を使えば良いでしょうか?

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

  • ベストアンサー
回答No.3

ホント、惜しい!!、もうチャットだった!... 此れでドォホ?? =IF(F16="","",IF(F16<(12/24),12,ROUND((ROUND(F16*24,2)),0))*G16) 1日12時間保証、12時間超は30分以上切り上げ!...、よく潰れんナァ~!!

その他の回答 (2)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 御質問文中の関数では、 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)
回答No.1

データの書式が解りませんが、以下でどうでしょう。 =IF(F16>0.041666667,11*G16,0)

関連するQ&A