Duration型で「経過時間」を計算・表示する方法

データ型
Dataデータ型

AppSheetアプリを作っていると「ある基準時間からどれくらい時間が経過したか」を知りたくなる場面がよくありますよね。

たとえば

  • タスクを完了してからどれくらい時間が経過したか
  • ユーザーが最後にアクセスしてからの経過時間
  • 点検・報告書の提出からの経過時間
  • 記事をアップしてからどのくらい時間が経過したか

AppSheetでは、こうした「経過時間」をDuration型で簡単に扱えます。


Duration型とは?

Duration型は、2つの時刻の差を表すデータ型で、形式は以下のようになります

1:23:45 (→ 1時間23分45秒)

内部的には「時:分:秒」として扱われますが、数値として演算に使うこともできます。


経過時間を求める基本式

もっともシンプルな式は以下の通り

NOW() - [date]
  • NOW():現在時刻(AppSheetの関数)
  • 2025/06/25:過去のタイムスタンプ(例:登録日時、開始日時など)

この計算結果がそのままDuration型となります。


vcDuration (仮想カラム)を使って経過時間を計算する

以下のような仮想カラム vcDuration を作成して、経過時間を取得しましょう

NOW() - [開始日時]

例1:1時間前のデータ

開始日時現在時刻 Now()vcDuration
2025/05/29 10:002025/05/29 11:001:00:00

例2:2日と3時間経過したデータ

開始日時現在時刻 Now()vcDuration
2025/05/27 08:002025/05/29 11:0051:00:00

応用のヒント

  • vcDuration > 24時間 のとき、背景色を赤にする
  • 経過時間 < 30分 の行だけ表示する
  • Duration を使った「進捗ステータス」表示も可能
  • 値によって日、時、分ごとに表示する

まとめ

  • NOW() - 2025/06/25 で「経過時間」を簡単に取得できる
  • Duration型は「時間の差」を扱う便利なデータ型
  • TOTALHOURS()TOTALMINUTES() で数値化して、見やすく加工できる

AppSheetでの「時間の扱い」に慣れると、業務アプリのUIや分析にグッと差がつきます。
この Duration をマスターして、あなたのアプリをさらに使いやすくしていきましょう!