【数式】:日付・時間の数式項目が動かない原因は?

【数式】:日付・時間の数式項目が動かない原因は?

ストーリー

A社では、タイムカード的役割を目的に、勤務開始時間と勤務終了時間の両項目を「日付・時間」項目で作成しました。
終了時間(work02__c)から開始時間(work01__c)を差し引きして、その日の労働時間を算出するシステムとなっています。
しかし、算出するための数式項目「労働時間」を作成したのですが、「労働時間」項目が空白のまま動かないのです。
「労働時間」項目の数式は、 (work02__c – work01__c)となっていて、戻り値は数値となっています。
一見すると、このような単なる引き算ですみそうな印象をうけますが、日付・時間項目を扱う際には気をつけておかなければならないポイントがあります。
そのポイントも踏まえて、以下で「労働時間」が動かない原因を探っていきましょう。

なぜ動かないのか

日付・時間項目を数値で戻すときに考えるべきことは、数値の単位が1日単位であるということです。
なので、時間単位での計算をしたい場合は、1日の時間24をかけて、時間単位に戻す必要があるのです。その式が下のものです。

例)24*(work02__c – work01__c)

また、日付・時間項目には分まで記入されますので、時間単位にすると、分数が少数で算出されます。もし、分数まではいらない場合は、ROUND関数で小数点以下を切り捨てることが可能です。
たとえば、小数点2以下を切り捨てる場合の数式は以下のものです。

例)ROUND(24 * (work02__c – work01__c),2)

この式を用いれば、「労働時間」項目は作動するでしょう。
しかし、運用していく際の注意として、「勤務開始時間」と「勤務修了時間」の両項目が空白である際は「労働時間」項目も動かないので、あらかじめ必須項目にしておくと良いでしょう。

SFAの教科書@二階堂
株式会社ベンチャーネットにてコンサルティング問い合わせ窓口を担当している二階堂です。皆様のセールスフォースの導入などのコンサルティングをさせて頂いてます。導入された後の悩みなども受け付けておりますので是非無料ご活用下さい。
コメント0

*
*
* (公開されません)