1

これは簡単に聞こえますが、私は解決策を見つけようとして頭を悩ませてきました。禿げる前に、どんな助けでも素晴らしいだろう.

できる数式が必要です。

  • 2 つの date\time 値の間の期間を (日、時間、分) 単位で計算します (例: 05/12/2012 5:30 PMand say 07/12/2012 5:45 PM);
  • 土日祝日を除く。

数式の結果を次のように読みたいと思います "eg 2 Days 0 Hrs and 15 Mins"。

ありがとう

サンプル ワークブックへのリンク

4

2 に答える 2

6

これを達成するためNETWORKDAYSに とを使用できますNETWORKDAYS.INTL

これらは正味の丸一日を返すため、少し操作が必要です。

  • これらの関数を使用して非稼働日の数を計算し、開始日と終了日の差から差し引きます

    =E3-D3-(NETWORKDAYS.INTL(D3,E3,"0000000")-NETWORKDAYS(D3,E3,$A$16:$A$24))
    

これは、営業日の差を返します。ここで、1.0 = 1 日です。

  • NETWORKDAYS.INTL(D3,E3,"0000000")2 つの日付の間の丸一日を計算します (土日祝日を除く)

  • NETWORKDAYS(D3,E3,"0000000",$A$16:$A$24)2 つの日付の間の営業日全体を計算します (土/日、週末、休日は のリストに従って$A$16:$A$24)

  • 2 つの日付間の非稼働日の差。

  • E3-D3開始日時と終了日時の間の時間 (1.0 = 1 日)


カスタム数値フォーマットを使用して、必要なフォーマットで結果を表示します

d "Days" h "Hours" mm "Mins"

注: この形式は負の値に対しては機能しません。終了日が開始日より前の場合は別の方法が必要になります。

于 2012-12-10T05:38:09.107 に答える
0

次の式は、追加のフォーマットや操作なしでおやつのように機能します。

より安定させるために、UK 2012/13のすべての休日の日付を「Excelシリアル番号」形式に変換し、それらを配列括弧で囲みました。

数式の「D5」をコースまたはメトリック「終了日」のセル参照に置き換え、「E5」をコースまたは「完了日」のメトリックに置き換えます。

=IF(E5<D5,"-"&TEXT(D5-E5,"h:mm"),NETWORKDAYS(D5,E5,({40910,41005,41008,41036,41064,41065,41148,41268,41269,41275,41362,41365,41400,41421,41512,41633,41634}))-1-(MOD(E5,1)<MOD(D5,1))&" days "&TEXT(E5-D5,"h:mm"))
于 2012-12-10T15:45:10.427 に答える