問題:

列A:Cには、ID、日付、および時刻が含まれています。各行は、特定の人がサインインまたはサインアウトした時間を示します。

列Cのどのエントリがサインインした時間であり、どのエントリがサインアウトしたかを判別してから、各人の作業時間数を計算します。

解決策:

時間がサインインまたはサインアウトを表すかどうかを判別するには、列Dの次の配列数式に示すようにCHOOSE、MAX、およびROW関数を入力します。

\ {= CHOOSE(MAX((A2 = $ A $ 2:$ A $ 9)(ROW()<> ROW($ A $ 2:$ A $ 9))((B2&C2)<($ B $ 2:$ B $ 9&$ C $ 2:$ C $ 9)))+ 1、 “Time Out”、 “Time In”)}したがって、C列に表示される各時間の横に「TimeIn」または「TimeOut」が表示されます。

次に、各人の労働時間数を計算するには、列Eの次の配列数式に示すようにSUM関数とIF関数を使用します。

\ {= SUM(IF(D2 = “Time Out”、(A2 = $ A $ 2:$ A $ 9)($ D $ 2:$ D $ 9 = “Time In”)(C2- $ C $ 2:$ C $ 9) 、0))}したがって、各IDに一致する「タイムアウト」インジケータの横に労働時間数が表示されます。

配列数式を適用するには:

セルを選択し、を押しながら同時にを押します。

スクリーンショット//労働時間の計算労働時間の計算