AppSheetで残り日数などを計算したい人は多いでしょう。今回は、Date型の日付と日付の差分日数を計算する方法の記事を書きます。これで特定期間の日数を算出することができます。
AppSheetでVirtual Columnを活用する
下記のように身体測定を月末に取るようなアプリがあったとします。これに、今回の測定が前回から何日経過したか?を計算してみたいと思います。
①左のメニューから「Data」を選びます。
②上部のタブの中から「Columns」を選びます。
③下記のようにテーブルが表示されます。
数式入力ウィンドウを表示させる
次に日付を計算するために「経過日数」という項目を足します。この項目はスプレッドシートの列を追加するのではなく、計算式だけで算出されるバーチャル列を活用します。
①テーブルの右上にある「Add Virtual Column」のボタンを選びます。
②下記のようにウィンドウが表示されるのでColumn nameの箇所を「経過日数」と書き換えます。
③App formulaの項目の右側をクリックします。
④下記のような数式入力ウィンドウが表示されます。
Date型をHOURでNumber型に変換して計算する
素直に入力すると下記のように入れると思います。Date型同士の計算になるので、*30や/10といった数字をこの計算に入れることができません。
そうすると下記のような表示になります。謎の表示です。744時間0分0秒という意味です。
そして次に経過日数のTYPEを見てみます。Durationというタイプになっています。
次に、ちょっと式に追加してみます。HOUR(***)を追加します。
エラーになるので、経過日数をTYPEを「Number」に変更します。
綺麗な数字になりました。しかも、TYPEはNunmberです。ただし。774時間であって、774日ではありません、
NumberのTYPEなので、下記のように/24などの計算をすることができます。1日は24時間なので、24で割ります。
これで、ようやく31日という数字が出せました。この例では、前回から今回は31日経過しているわけです。
まとめ
今回は、Date型の日付と日付の差分日数を計算する方法についての記事を書きました。ポイントをまとめると下記の通りとなります。
- 日付同士の差分を計算すると数字型ではなくDuration型になる。
- このDuration型にHOUR関数を使うことで、Number型を取り出せる。
- Number型になれば、/24などの計算式が適用できる。
つまり、AppSheetで日付計算するにはNumber型への変換がおすすめです。そのため、HOUR関数を活用しまし活用う!
AppSheetに興味がある人は、下記の記事もチェックしてください。