0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Salesforce】テキスト型のyyyy年MM月dd日を日付に変換して年齢を算出する方法

Posted at

外部のDBやメールなどからデータをSalesforceに取り込んだときに、フォーマットができないものをテキスト型で取得するということがあるかと思います。
今回は実際にあった事例を基にyyyy-MM-ddの日付型でなく、yyyy年MM月dd日のテキスト型から年齢を算出してみました。

yyyy年MM月dd日を日付に変換する

1.こちらのテキスト型項目を使っていきます。
image.png

2.戻り値が日付の数式項目を下記の数式を参考に作成します。
 今回のように複数条件がある場合はネストさせることで実現できます。

DATEVALUE(
    SUBSTITUTE(
        SUBSTITUTE(
            SUBSTITUTE(参照元のテキスト項目,"年","-"),
        "月","-"),
    "日","")
)

3.年月日を置換して日付のフォーマットに直したことで日付に変換することができました。
image.png

yyyy年MM月dd日から年齢を算出する

上記の応用として日付に変換した後、その値を使って年齢を出すこともできます。

TEXT(
    FLOOR(
        ( TODAY() - DATEVALUE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(参照元のテキスト項目,"年","-"),"月","-"),"日","")) ) / 365.2425
    )
)+"歳"

image.png

参考文献

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

まとめ

フォーマットに困った時はテキスト型で取り込んでSUBSTITUTE関数を使って置換してあげると良さそうです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?