Salesforceで日付型項目をメールテンプレートの差し込み項目にしたり、テキスト表示させようとすると、MM-DD-YYYYのアメリカ式の日付フォーマットになってしまいます。
この記事では、日本式の年月日になる数式を紹介します。数式(テキスト)で項目を作成してみてください。
※Date__c を対象の日付項目に置き換えてご利用ください。
YYYY年M月D日の形式(頭ゼロなし)
TEXT(YEAR(Date__c)) & "年" & TEXT(MONTH(Date__c)) & "月" & TEXT(DAY(Date__c)) & "日"
年と月と日をそれぞれ求めて、間に単位を足していきます。
2023/1/1の場合は、「2023年1月1日」と表示されます。
2023年01月01日と表示したい場合は次のコードを見てください。
YYYY年MM月DD日の形式(頭ゼロあり)
TEXT(YEAR(Date__c)) & "年" & LPAD(TEXT(MONTH(Date__c)),2,'0') & "月" & LPAD(TEXT(DAY(Date__c)),2,'0') & "日"
LPAD関数を使って2桁0埋めしてます。
2023/1/1の場合は、「2023年01月01日」と表示されます。
これでも良いのですが、Date__cに値がない時には「年月日」と表示されてしまいます。対処法は次のコードを見てください。
YYYY年MM月DD日の形式かつ値なしの時空白
IF(TEXT(Date__c)="","",TEXT(YEAR(Date__c)) & "年" & LPAD(TEXT(MONTH(Date__c)),2,'0') & "月" & LPAD(TEXT(DAY(Date__c)),2,'0') & "日")
IF関数を使って文字列に変換した日付が空白の場合は、空白を表示する。日付に値があればYYYY年MM月DD日の形式になるようにしています。
ISBLANKでも良いです。
※空白文字を0にしている場合はIF関数の条件式を変えてください。
まとめ
日付項目を年月日の日付フォーマットにする数式を紹介しました。これで、メールや詳細ページ等に年月日形式で表示させることができます。
連結させる文字列を「-」や「/」や「.」に変えて使えば、他の表現もできるのでぜひ応用してみていただければ幸いです。