3

私が働いている場所では残業代は支払われませんが、残業のために休日が発生します。私は次のスプレッドシートを持っています。これは、私が行った残業の量を計算し、それを合計しD15ます。

ここで、1日8時間に基づいて、これが何日であるかを計算したいと思います。でD16、を実行=D15/8してフォーマットしましh.mm \d\a\y\sたが、これはの2.26 days代わりにとして表示され2.4375 daysます。

で使用する正しい式は何D16ですか?

ここに画像の説明を入力してください

4

3 に答える 3

5

読者への注意:この質問は複数の解決策につながり、そのうちのいくつかはコメントで議論されました。ここに見つけた解決策の要約があります。


最初の解決策

=(HOUR(D15)+MINUTE(D15)/60)/8

説明

Excel の日付と時刻はシリアル番号として格納されているため、19:30実際にはそうです0.8125
したがって、 で割ると8、 になります0.1015625
この後者の値は価値があります2.26 days


OP のバージョン(Danny Becket (OP) に感謝) - 以下のコメントを参照してください。
このソリューションは現在、24 時間以上を処理します。

=((DAY(D20)*24)+HOUR(D20)+(MINUTE(D20)/60))/8

またはそれ以上 ( Barry Houdiniの功績):

=((INT(D20)*24)+HOUR(D20)+(MINUTE(D20)/60))/8

前者の式には大きな値に対する制限があり、おそらくここでは関係ありませんが、D20800:00 の場合、間違った答えが得られます (100 日ではなく 7 日)。これはおそらく、DAY関数が 31 で「リセット」される暦日を与えているためです。INT代わりに使用するのが最適ですDAY


別のわかりやすいバージョン

時間値としての 1 日の長さで割ります。

=D15/"8:00"

労働日の長さが変わると、より簡単に変更できます

于 2012-09-07T08:47:36.553 に答える
2

入る:

B3 8:316: 3
C3
D3 =IF(B3<C3,C3-B3-1/3,2/3-B3+C3)

を選択B3:D3し、次のようにフォーマットしてhh:mm、必要なだけ下にコピーします。

合計して数式にColumnD追加*3しますが、数値として書式設定します。

ColumnBおよび/または必要に応じてセルを上書きしてデータを追加しますColumnC(デフォルトでは合計に追加されません)。

  • 次の定時開始時刻までの時間外労働に対応(例:午前0時過ぎ、新しいシリアル番号を含む)。1/3標準稼働時間は 8 時間です (日付シリアル カウンターは 24 時間単位です)。B3ハードコーディングすることもC3できますが、(i) その必要がなく、(ii) 柔軟性が向上します。非標準の開始/終了を簡単に特定するには、条件付き書式を使用できます。

  • 週末の残業には対応していませんが、簡単に変更できます (例: 列を追加し、追加の列に 8 で週末の日にフラグを立て、その 8 [1/3] を終了時刻に追加します)。

于 2012-09-11T23:57:30.657 に答える