[AppSheet] 日付形式のカラムをCONCATENATEする際のフォーマットをYYYY/MM/DDとしたい
こんにちは、CX事業本部 IoT事業部の若槻です。
AppSheetは、スプレッドシートやデータベースなどをデータソースとしたアプリを簡単に作成できるノーコード開発プラットフォームです。
今回は、AppSheetで日付形式のカラムをCONCATENATEする際のフォーマットをYYYY/MM/DD
とする方法を確認してみました。
1. YYYY/MM/DD HH/mm/ss
としたい場合
こんな感じのデータソースがあります。YYYY/MM/DD
という日付形式のカラムを持っています。
このデータソースをもとにAppSheetアプリを立ち上げました。
一覧画面。
詳細画面。
ここで日付
列と時刻
列を使用してYYYY/MM/DD HH/mm/ss
のようなフォーマットのカスタム列をアプリ上で表示させたいです。
そこでアプリ側で日時
という仮想カラムを設けて、CONCATENATE
を使用して日付
列と時刻
列を文字列結合してみます。
FOMULAはCONCATENATE([日付]," ",[時刻])
とします。
日時
列を設けられました。しかしアプリ上での表示は日付部分がMM/DD/YYYY
のフォーマットとなってしまいます。
解決
列のTYPEを既定のText
でなくDateTime
とする必要がありました。
日時
列のTYPEをDateTime
とします。
するとフォーマットをYYYY/MM/DD HH/mm/ss
とさせられました。
2. YYYY/MM/DDTHH/mm/ss+09:00
としたい場合
次に、同じく日付
列を使用して更に別のフォーマット、例えばYYYY/MM/DDTHH/mm/ss+09:00
のような値を表示したいとします。
FOMULAは再度CONCATENATE
を使用してCONCATENATE([日付],"T",[時刻],"+09:00")
とし、TYPEはDateTime
とします。
すると日付(JST)
の値がInvalid date
となりました。YYYY/MM/DDTHH/mm/ss+09:00
のような値はDateTime
TYPEとできないようです。
TEXT
TYPEとすると表示はされますが、また日付部分のフォーマットがMM/DD/YYYY
となってしまいます。
解決
FOMULAで日付
列に対してTEXT()
でフォーマットを指定する必要がありました。
FOMULAはCONCATENATE(TEXT([日付],"YYYY/MM/DD"),"T",[時刻],"+09:00")
、TYPEはTEXT
とします。
日付(JST)
のフォーマットをYYYY/MM/DDTHH/mm/ss+09:00
とすることができました。
以上