フォローする

[Salesforce]入社日から在籍年数をだすには?(数式)


「入社日」という日付項目があり、その日から何年何ヶ月経過したかを数式で自動表示させたいのですが、どのような演算子や関数を使えばいいでしょうか?

 

 
「何年何ヶ月何日」までを厳密に 表示しようとすると、非常に複雑な数式を組む必要がありますが、「"何年何ヶ月" で十分で、かつ目安でかまわない」場合、以下のような数式で実現可能となります。 数式で使用した関数の説明を交えてご案内いたします。

(入社日を "NyukyoDate__c" とします)

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

「年」や「ヶ月」を含む関係上、数式戻り値の形式はテキスト型になります。

まず FLOOR 関数ですが、こちらは「除算の小数点以下を切り捨てる」ものになります。 (対になるのが CEILING 関数:「除算の小数点以下を切り上げる」です) これにより、「725日 = 2年にあと5日及ばない」が「2年」になるのを防ぎます。

続いて MOD 関数ですが、「除算の余りを返す」ものになります。 入居日からの経過日数が765日の場合、(765÷365) の余りとして、35が返されます。 その余りを「30.5」で割った値を、FLOOR 関数によって小数点以下切捨てによって整数化します。(割る値が 30.5 なのは、「364日 =1年12ヶ月」という歪な結果にならないための施策です。)

そして最後に、それぞれの値をテキスト化し、「年」「ヶ月」という文字列を連結して数式の完成になります。

今回紹介した関数についての詳細は、以下ヘルプをご参照ください。

https://help.salesforce.com/htviewhelpdoc?id=customize_functions_i_z.htm&siteLang=ja#MOD
https://help.salesforce.com/htviewhelpdoc?id=customize_functions_a_h.htm&siteLang=ja#FLOOR

高度な数式のサンプル

https://help.salesforce.com/HTViewHelpDoc?id=useful_advanced_formulas.htm&language=ja


Salesforce・Googleの運用・サポートでお困りなら

 カスタマーサポートへお問合せください。


コメント

 
 
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています