これは機能しますか?
1)セルA1に開始日/時間を入力し、セルB1に終了日/時間を入力します
2)Holidaysという名前の範囲を作成します。これには休日が含まれます。 名前付き範囲を作成する例。
3)次の数式をコピーし、セルD1の数式バーに貼り付けて、を押します。Enter
=IFERROR(MROUND(NETWORKDAYS(
IF(OR(
WEEKDAY(A1,2)>=6,
COUNTIF(Holidays,INT(A1))>0),WORKDAY(A1,1),
A1),
IF(OR(
WEEKDAY(B1,2)>=6,
COUNTIF(Holidays,INT(B1))>0),WORKDAY(B1,-1)+TIME(23,59,59),
B1))-1-MOD(
IF(OR(
WEEKDAY(A1,2)>=6,
COUNTIF(Holidays,INT(A1))>0),WORKDAY(A1,1),
A1),1)+MOD(
IF(OR(
WEEKDAY(B1,2)>=6,
COUNTIF(Holidays,INT(B1))>0),WORKDAY(B1,-1)+TIME(23,59,59),
B1),1),"1:00"),0)
例:
4)セルD1を37:30:55のタイプの時間としてフォーマットします
5)土曜日の開始日/開始時刻の結果の例。
注:営業日は午前0時に始まるため、上記では1時間しか表示されません。
==============================================
推測される結果
1)指定された日付/時刻間の労働時間を返します。
2)指定された日付/時刻(つまり、同じ週末に開始/終了)の間に<= 0労働時間が存在する場合、0を返します。
3)最も近い時間に丸めます。
4)就業日は24時間と見なされます。 おそらく、特定の労働時間の数式を変更できますが、それは質問で指定されていません。
==============================================
使用されるソース
週末を除くExcelで時間を計算する方法
Excelで日付と時刻の数値から日付を抽出する
日付が就業日であるかどうかをテストするにはどうすればよいですか?
Excelで時間を最も近い時間に丸める方法は?