AppSheetで勤怠管理:深夜時間を算出する関数

どうも3号です。
最近FF7リバースをやっています。
面白ずぎてすでに50時間以上やっているのですが、
まだストーリーの進行度7割程度でした。
ストーリー以外の要素もかなり充実しているので終りが見えません。
当分はFFになりそうです。

AppSheetで深夜時間を算出

勤怠管理アプリ開発で、始業時間と終業時間から深夜時間を算出したい!
そんな時、困った方多いのではないでしょうか?

kintoneでの深夜時間算出

kintoneでは、大変ありがたいことにこれそのまま使えば算出できます、
というものがサイトに載っておりました。
参考サイト
こちらを見るととても面倒な場合分けが複数存在しています。
これを公開してくれているkintoneには感謝しかありません。

AppSheetでの深夜時間算出

kintoneで紹介してるならAppsheetでもきっと参考サイトあると思いましたが、
どこを探しても載っておりませんでした。
ですので、上記を参考にして作成してみました。
それがこちらです。

IF([出勤時間(時間)]=[退勤時間(時間)],7,
IF(AND(TOTALHOURS([出勤時間(時間)]-“00:00:00”)<=5, [出勤時間(時間)]<=[退勤時間(時間)], TOTALHOURS([退勤時間(時間)]-“00:00:00”)<=5),TOTALHOURS([退勤時間(時間)]-[出勤時間(時間)]), IF(AND(TOTALHOURS([出勤時間(時間)]-“00:00:00”)<=5, TOTALHOURS([退勤時間(時間)]-“00:00:00”)>=5, TOTALHOURS([退勤時間(時間)]-“00:00:00”)<=22),5-TOTALHOURS([出勤時間(時間)]-“00:00:00”), IF(AND(TOTALHOURS([出勤時間(時間)]-“00:00:00”)<=5, TOTALHOURS([退勤時間(時間)]-“00:00:00”)>=22),(5-TOTALHOURS([出勤時間(時間)]-“00:00:00”))+(TOTALHOURS([退勤時間(時間)]-“00:00:00”)-22),
IF(AND(TOTALHOURS([出勤時間(時間)]-“00:00:00”)<=5, [退勤時間(時間)]<=[出勤時間(時間)]),(5-TOTALHOURS([出勤時間(時間)]-“00:00:00”))+2+TOTALHOURS([退勤時間(時間)]-“00:00:00”), IF(AND(TOTALHOURS([出勤時間(時間)]-“00:00:00”)<=22, TOTALHOURS([退勤時間(時間)]-“00:00:00”)>=22),TOTALHOURS([退勤時間(時間)]-“00:00:00”)-22,
IF(AND(TOTALHOURS([出勤時間(時間)]-“00:00:00”)<=22, TOTALHOURS([退勤時間(時間)]-“00:00:00”)<=5),2+TOTALHOURS([退勤時間(時間)]-“00:00:00”), IF(AND(TOTALHOURS([出勤時間(時間)]-“00:00:00”)<=22, TOTALHOURS([退勤時間(時間)]-“00:00:00”)>=5, [退勤時間(時間)]<[出勤時間(時間)]),7, IF(AND(TOTALHOURS([出勤時間(時間)]-“00:00:00”)>=22, [退勤時間(時間)]>=[出勤時間(時間)]),TOTALHOURS([退勤時間(時間)]-[出勤時間(時間)]),
IF(AND(TOTALHOURS([出勤時間(時間)]-“00:00:00”)>=22, [退勤時間(時間)]<=[出勤時間(時間)], TOTALHOURS([退勤時間(時間)]-“00:00:00”)>=22),24-TOTALHOURS([出勤時間(時間)]-“00:00:00”)+5+(TOTALHOURS([退勤時間(時間)]-“00:00:00”)-22),
IF(AND(TOTALHOURS([出勤時間(時間)]-“00:00:00”)>=22, TOTALHOURS([退勤時間(時間)]-“00:00:00”)<=5),(24-TOTALHOURS([出勤時間(時間)]-“00:00:00”))+TOTALHOURS([退勤時間(時間)]-“00:00:00”), IF(AND(TOTALHOURS([出勤時間(時間)]-“00:00:00”)>=22, TOTALHOURS([退勤時間(時間)]-“00:00:00”)>=5, TOTALHOURS([退勤時間(時間)]-“00:00:00”)<=22),(24-TOTALHOURS([出勤時間(時間)]-“00:00:00”))+5,0
)
)
)
)
)
)
)
)
)
)
)
)

これによって深夜時間が数値データで算出可能です。
あとはこれを2:00というような形にすれば問題なしです!
時間間隔(Duration)をTOTALHOUR関数を使って時間(数値データ)に変更して
なんとか対応しています。多分もっと楽な書き方があるような気がしますが...

まとめ

kintoneでできることは、AppSheetでもできる!今回ご紹介した深夜時間算出は、その一例です。
もし、kintoneからAppSheetに乗り換えても、
これまで培ってきた知識やスキルを活かせるので安心です。

ぜひ、AppSheetで柔軟かつパワフルな勤怠管理アプリ開発に挑戦してみてください!

※AppSheetはGoogleWorkspaceの各プラン(Businessプラン以上)に含まれるようになりました。
公式サイト


GoogleWorkspaceのお申し込みはこちらから

木下 慶太郎

木下 慶太郎KINOSHITA KEITAROU

記事一覧

法政大学経済学部経済学科卒業後、現在のヒカリシステムに入社。

最近体重が人生のMAXに到達しました。

なので自転車通勤をはじめました。

でも、痩せません。助けてください。

関連記事