other

|

Googleスプレッドシート|列の最後の時刻を自動取得する式

リモートでのデザイン業務を時給契約で行う場合、工数管理は実作業時間のみを対象とする契約が多いです。
待機時間は工数に含まれないため、稼働は1〜2時間単位、あるいは分刻みでブロック状になりがちです。

作業終了後に時間を集計すること自体は10分もかかりません。
しかし、金額に直結する管理のため、心理的な負荷は実際の作業以上にかかります。

そこで、稼働開始と稼働終了を入力するだけで、現在の稼働時間や契約時間の残数が自動計算されるシートを作成しました。
その際に使用した数式をメモとして残します。

基本の数式(列の最後の入力値を取得)

=IFERROR(LOOKUP(2;1/(A10:A20<>"");A10:A20);"")

変更するのは[A10:A20]の部分のみ。
対象となる列の範囲に置き換えてください。

セルの値がテキストであれば、この式だけで問題ありません。

時刻データの場合の注意点

時刻は内部的に小数で管理されています。
そのため表示形式が数値のままだと、小数で表示されます。

よってこの場合は、表示形式を[時刻]に変更します。
手順は下記。

セルの表示形式を[時刻]にする方法

  1. 終了時刻のセルをクリック
  2. 上のメニュー[表示形式]をクリック
  3. [数字]にカーソルを合わせる
  4. [時間]をクリック

これで時間表示になります。
ただし「00:00:00」のように秒単位で表示される場合があります。

時刻の秒を削除する方法(「00:00」にする方法)

方法①:表示形式で修正

  1. 対象セルを選択
  2. 表示形式 → 数字 → カスタム日時
  3. 形式に[hh:mm]と入力して適用

方法②:式側で表示を固定する

数式を TEXT 関数で包む。

=IFERROR(TEXT(LOOKUP(2;1/(A10:A20<>"");A10:A20);"hh:mm");"")

今回は方法②を採用しました。

Kasumi Nakatake
著者
nakatake kasumi

記憶を留める作家として活動中。
絵・クラフト・デザイン・音を横断する個人作家。