Salesforceで和暦を西暦に変換してみた
Ryo
2023/01/17 11:36:17
Salesforceで業務を行う日々、和暦を西暦に自動的に変換して表示したいな、といった気持ちはあったりしませんか?
Salesforce Helpにおいて、西暦を和暦に表示するサンプル数式が掲載されているが、和暦を西暦に変換する数式は提供していないですね、少し困りますね!
今回は和暦→西暦の変換数式を紹介します!
※西暦を和暦に表示する数式は、こちらに参照してください!
Salesforce Help: [数式 サンプル] 日付型項目の値を和暦表示する数式
https://help.salesforce.com/s/articleView?id=000384250&type=1
それでは、本編に入ります!
今回は、和暦(テキスト型)項目を西暦(テキスト型)項目に変換する方法を紹介します。
平成11年11月を199911に変換したい場合はどうでしょう?
※DATE__c=平成11年11月
Step1、昭和、平成、令和の元年-1がそれぞれ何年かを定義します!
(○年を足すため、和暦が始まった年(元年)から-1しています。
例:平成=1988年+11年= 1999年)
数式の部分は、以下になります。
DATE__c , "昭和","1925","平成","1988" ,"2018"
Step2、平成○○年の○○を取得します!
数式の部分は、以下になります。
mid( DATE__c ,3,2)
Step3、平成○○年は1988+○○年を計算します!
数式の部分は、以下になります。
VALUE(mid( DATE__c ,3,2))+VALUE(case(LEFT(DATE__c , 2), "昭和","1925","平成","1988" ,"2018")
※テキストは計算できないため、value関数を使用します。
Step4、何月かを取得します!
数式の部分は、以下になります。
mid(DATE__c ,6,2)
※項目がテキスト型のため、そのまま取得できます
Step5、月の部分を、年を計算した部分にくっつけていきます!
年を計算する部分は、value関数なので、一回Text関数に変換します。
TEXT(VALUE(mid( DATE__c ,3,2))+VALUE(case(LEFT(DATE__c , 2), "昭和","1925","平成","1988" ,"2018")))
Step6、月の部分を上記の数式にくっつけたら数式が完成です!
TEXT(VALUE(mid( DATE__c ,3,2))+VALUE(case(LEFT(DATE__c , 2), "昭和","1925","平成","1988" ,"2018")))+mid(DATE__c ,6,2)
Step7、次は最後の一歩! Test!
テストの結果は以下になります。

※”元年”と表記していたり、年号の後についている数字が2桁以外(平成7年の場合は、平成07年)で登録している場合は認識されないので、注意が必要です。
和暦→西暦の変換数式いかかがでしょうか、ニーズに合わせてぜひ現場で活用してみてくださいね!
こちらの数式を参考させていただきました
URL:http://salesforce-tips.seesaa.net/article/455434895.html
Salesforce Helpにおいて、西暦を和暦に表示するサンプル数式が掲載されているが、和暦を西暦に変換する数式は提供していないですね、少し困りますね!
今回は和暦→西暦の変換数式を紹介します!
※西暦を和暦に表示する数式は、こちらに参照してください!
Salesforce Help: [数式 サンプル] 日付型項目の値を和暦表示する数式
https://help.salesforce.com/s/articleView?id=000384250&type=1
それでは、本編に入ります!
今回は、和暦(テキスト型)項目を西暦(テキスト型)項目に変換する方法を紹介します。
平成11年11月を199911に変換したい場合はどうでしょう?
※DATE__c=平成11年11月
Step1、昭和、平成、令和の元年-1がそれぞれ何年かを定義します!
(○年を足すため、和暦が始まった年(元年)から-1しています。
例:平成=1988年+11年= 1999年)
数式の部分は、以下になります。
DATE__c , "昭和","1925","平成","1988" ,"2018"
Step2、平成○○年の○○を取得します!
数式の部分は、以下になります。
mid( DATE__c ,3,2)
Step3、平成○○年は1988+○○年を計算します!
数式の部分は、以下になります。
VALUE(mid( DATE__c ,3,2))+VALUE(case(LEFT(DATE__c , 2), "昭和","1925","平成","1988" ,"2018")
※テキストは計算できないため、value関数を使用します。
Step4、何月かを取得します!
数式の部分は、以下になります。
mid(DATE__c ,6,2)
※項目がテキスト型のため、そのまま取得できます
Step5、月の部分を、年を計算した部分にくっつけていきます!
年を計算する部分は、value関数なので、一回Text関数に変換します。
TEXT(VALUE(mid( DATE__c ,3,2))+VALUE(case(LEFT(DATE__c , 2), "昭和","1925","平成","1988" ,"2018")))
Step6、月の部分を上記の数式にくっつけたら数式が完成です!
TEXT(VALUE(mid( DATE__c ,3,2))+VALUE(case(LEFT(DATE__c , 2), "昭和","1925","平成","1988" ,"2018")))+mid(DATE__c ,6,2)
Step7、次は最後の一歩! Test!
テストの結果は以下になります。
※”元年”と表記していたり、年号の後についている数字が2桁以外(平成7年の場合は、平成07年)で登録している場合は認識されないので、注意が必要です。
和暦→西暦の変換数式いかかがでしょうか、ニーズに合わせてぜひ現場で活用してみてくださいね!
こちらの数式を参考させていただきました
URL:http://salesforce-tips.seesaa.net/article/455434895.html
コメント