function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
noznoznoznoz 

選択リストの数式について

時刻の値(たとえば、10:00, 10:30, 11:00, ...)が入った選択リスト項目(開始、終了のような)が

2つあり、その二つの値から、経過時間を数式で表示させたいと思います。

 

この場合、どのような数式にすればよいでしょうか?

選択リスト項目の値をテキストとして取得できれば、先頭2文字と最後の2文字を取り出して、

数値化して引き算とすればいいのかな?と思いますが。

 

できれば、プログラミングなしで取り込みたいと思います。

よろしくお願いします。

Best Answer chosen by Admin (Salesforce Developers) 
noznoznoznoz

nabemaru様

 

ありがとうございました。

できました。

 

選択リストの値を取り出す場合は、TEXTで文字列にする必要があるんですね。

 

All Answers

nabemarunabemaru
以下の前提で数式を組んでみました。
 
・開始時間:startTime
・終了時間:endTime
※上記の選択リストは、30分刻み
 
以下の数式は、
A:選択リストの文字の左側 2文字を取得する(LEFT 及び TEXT)
 
B:選択リストの文字の右側 2文字を取得し(RIGHT 及び TEXT)、
  その値によって(分)の値を数値に変換する(IF)
 
AとBの文字列を結合する(+)
 
結合した文字列を数値に変換する(VALUE) 
 
終了時間から開始時間を引く(-) 
 

VALUE(

LEFT( TEXT( endTime__c ), 2 ) + IF( RIGHT( TEXT( endTime__c ), 2 ) = '30', '.5', '.0' )

)

-

VALUE(

LEFT( TEXT( startTime__c ), 2 ) + IF( RIGHT( TEXT( startTime__c ), 2 ) = '30', '.5', '.0' )

)

 

上記の数式を組んだ場合、日付が異なる場合などの考慮点もあるかと思いますが、
とりあえず参考まで。
noznoznoznoz

nabemaru様

 

ありがとうございました。

できました。

 

選択リストの値を取り出す場合は、TEXTで文字列にする必要があるんですね。

 

This was selected as the best answer
nabemarunabemaru

noznoz

 

参考になったようで良かったです。 

選択リストの値は、いつからだったか

TEXT関数で取り出せるようになりました。

 

以前は、CASE関数での対応だけだったので、

選択リストの値が××だったら、××という値を返すという

数式を組んでいましたが、 TEXT関数の出現でだいぶ楽になりました。

 

SalesForceさんには、こんな数式をもっと増やしてもらいたいですね~。

(ちなみに、数式での参照階層制限とか、数式の文字数制限とか、

 このへんも制限(ガバナ)をもう少し緩和して欲しいです。)