前回こんな記事を書きました。
前回の記事では、日々の勤務時間の計算方法については説明していなかったので、この記事では、Googleフォームのタイムスタンプから勤務時間を計算する方法について紹介します。
タイムスタンプから勤務時間を計算する
タイムスタンプから勤務時間を計算するためには、スプレッドシートの標準関数として備わっている、text関数を使います。
text(タイムスタンプ,”HH:MM”)とすると、タイムスタンプから、時刻(時間:分)を出力することができます。
例えば、以下のように、打ってあげると、D列に各タイムスタンプを時刻(HH:MM)表記してくれます(紫色は、フォームから出力される情報です)。
タイムスタンプから時刻(HH:MM)のみを取り出すことができたら、退勤時刻から出勤時刻を引算することで、勤務した時間を計算することができそうです。
最終的には、別シートで勤務時間の計算をした方が良いのですが、まずは計算の仕方を理解するため、同じシート内で勤務時間を計算してみたいと思います。
時刻(HH:MM)表記した時刻同士を引算する際には、時間と分をそれぞれ別シートで計算する必要があります。
hour(時刻① ー 時刻②)で時間を計算でき、minute(時刻①ー時刻②)で分を計算できます。
今回は、退勤時刻―出勤時刻という形で計算をするので、それぞれ、hour(退勤時刻ー出勤時刻)、minuite(退勤時刻ー出勤時刻)となります。
うまく勤務時間を計算することができました。
この方法を使って、勤務時間を計算していくことで、勤務時間を計算することができそうです。
ただ、このままではまだうまく実用するにあたって、いくつかクリアしていかないといけない壁があります。
次回以降の記事で紹介したいと思いますが、以下の手順をクリアしていく必要があります。
- 日付ごとに勤務時間を計算する
- 登録者ごとに勤務時間を計算する
上記のことを達成するためには、タイムスタンプ、登録者情報、出退勤カテゴリをもとにした個別キーのようなものを作成し、その個別キーを起点にvlookup()を使う必要があるのですが、詳しくはまた別の記事で紹介できればと思います。
まとめ
今回の記事ではタイムスタンプから勤務時間を計算する方法を紹介しました。
- タイムスタンプから時刻を取り出すためには、text()を用いる。
- 時刻同士の引算をする際には、時間を取り出すときには、hour()、分を取り出すときにはminute()を使う。
次回の記事で、別シートを使って日付・人ごとに勤務時間を抽出する方法を紹介できればと思います。