VBA 日付フィルター

VBA 日付フィルター

これを説明する最も簡単な方法は、例を使うことです。2 つの日付 (例)「2014-08-08T8:11:31」と「2014-08-11T13:53:29」があります。適切な形式 (日付) を指定して、週末 (土曜日、日曜日) を除外し、勤務時間に変更する必要があります。私たちの場合、週末で、昼休みが 2 時間あります。1 日目はほぼ 8 時間 (8 時から 17 時まで)、2 日目はほぼ 5 時間です。合わせて 13 時間です。2 つの日付を入力すると、時間 (または MD) が出力されます。

答え1

この関数は、NETWORKDAYS2 つの日付間の営業日数を計算できます。日数を時間数に変換するには、それに 8 を掛ける必要があります。

さらに、初日の時間数(17 時または17/241 日の - 時間との差)と最終日の時間数(終了時間と 8 時の差8/24)を計算する必要があります。初日と最終日の時間数を計算するため、答えから 2 を引く必要がありますNETWORKDAYS

したがって、開始日が A1 にあり、終了日が A2 にある場合、最終的な関数は次のようになります=(NETWORKDAYS(A1;A2)-2)*8+17/24-MOD(A1;1)-8/24+MOD(A2;1)

数式内の入力データの妥当性はチェックされないことに注意してください。

関連情報