混合型の列からSUM()時間を計算する

混合型の列からSUM()時間を計算する

次の表を検討してください。

+------------------+------+--------+
|     Total worked | Total|  Tasks |
+------------------+------+--------+
|             07:30| 09:20|Day 10  |
+-----+-----+------+------+--------+
|09:00|09:20| 00:20| Task1         |
+-----+-----+------+---------------+
|09:20|09:25|'00:05| Task2         |
+-----+-----+------+---------------+
|09:25|09:30|'00:05| Task3         |
+-----+-----+------+---------------+
|09:30|10:30|'01:00| Task4         |
+-----+-----+------+---------------+
|10:30|13:00| 02:30| Task5         |
+-----+-----+------+---------------+
|15:00|19:40| 04:40| Task6         |
+-----+-----+------+---------------+
|19:40|20:20|'00:40| Task7         |
+-----+-----+------+---------------+

(本当に申し訳ありませんが、これ以上のことはできませんでした)。

これはTotal Worked私が 1 日に働いた時間です。
値は 2 つの式で計算されます。

  • 無視される時間(表では で始まる時間'):
    =TEXT(Bxx-Axx+ STYLE("CustomDoNotCalc");"hh:mm" )
  • 計算された時間:
    =Bxx-Axx

Total Worked単純な で計算されます=SUM(Cxx:Cxx)

Total手動で導入されます。

手動ではなく計算で行いたいです。

次の式を試したところ、次の結果が得られました。

  • =SUM(DATE.VALUE(Cxx:Cxx))- エラー#VALUE?#VALUE!
  • =SUM(DATE.VALUE(TEXT(Cxx:Cxx,'hh:mm')))- エラー#VALUE?
  • もう一つ、どれだったか忘れたけど

時間を計算するにはどうすればいいでしょうかTotal?

答え1

ヘルパー列がない場合、配列数式:

=SUM(C2:C8,(IF(ISERROR(TIMEVALUE(C2:C8)),0,TIMEVALUE(C2:C8))))

結果は次のようになります。

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

C9で配列数式を入力するには、上記の数式を入力します。中括弧なし {}CTRL+ SHIFT+を押しますENTER。OO Calc は、配列数式であることを示すために、数式を中括弧で囲んで表示します。

答え2

導入することをお勧めしますヘルパー列「合計労働時間」を計算する際に時間を考慮するかどうかを示します。この方法では、SUM()を使用して期間を計算するのは非常に簡単です。SUMIF():

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

列 C (期間) は単に です=Bx-Ax。「合計作業時間 (C9)」は で=SUM(C2:C8)、「正味作業時間 (C19)」は です=SUMIF(D2:D8,"=1",C2:C8)。すべてのセルのセルの書式は ですHH:MM。正味作業時間として認識されるタスクを強調表示するために、条件付き書式をいくつか追加しました。

(LibreOffice で作成、OpenOffice Calc と同じになるはずです)

関連情報