Memos About Salesforce

Salesforceにハマってたこと!

sfdc 時間計算 経過時間

sfdcだけではないが、

時間計算、日付計算、経過時間などの計算はよくあると思います。

今回、これを共有したいと思います。

目次 レコード作成してから、の日数を計算とする

経過時間計算

日数単位計算

 NOW()-CreatedDate 
//ケースの経過日数を例
IF (IsClosed,ClosedDate - CreatedDate,NOW() - CreatedDate) 

時間単位計算

(NOW() -CreatedDate )*24
//ケースの作成経過時間を例
IF( IsClosed , (ClosedDate - CreatedDate) *24, (NOW() - CreatedDate ) *24)

分単位計算

(NOW() -CreatedDate )*1440
// ケースの経過分を例
IF( IsClosed , (ClosedDate - CreatedDate) *1440, (NOW() - CreatedDate ) *1440)
二つ日付の経過 日ー時間ー分を計算

戻り値はテキスト

IF(
  datetime_1 - datetime_2 > 0 ,
  TEXT( FLOOR( datetime_1 - datetime_2 ) ) & " days "
  & TEXT( FLOOR( MOD( (datetime_1 - datetime_2 ) * 24, 24 ) ) ) & " hours "
  & TEXT( ROUND( MOD( (datetime_1 - datetime_2 ) * 24 * 60, 60 ), 0 ) ) & " minutes",
  ""
)
経過年月日

築年数とか、入社年数とか

入社日/築年月日を "TargetDate__c" とします)

TEXT ( FLOOR (( Today() - TargetDate__c) / 365) ) & "年" & 
TEXT ( FLOOR ( MOD (Today() - TargetDate__c , 365 ) / 30.5 )) & "ヶ月"

まとめ

公式サイトのサンプルをしっかり理解した上にいろいろできます。

https://help.salesforce.com/articleView?id=customize_functions_i_z.htm&type=5

https://help.salesforce.com/articleView?id=customize_functions_a_h.htm&type=5

https://help.salesforce.com/articleView?id=useful_advanced_formulas.htm&type=5