IF関数の中で日付フィールドを表示する方法

こんにちは!田中です。
今回は、「IF文の中の日付フィールドの取り扱い」について注意点と活用例を交えてご紹介します。

kintoneの日付フィールドに入力してある日付を文字列として扱いたい、というシチュエーションにぴったりの内容です。

IF関数については、過去のブログでご紹介していますので合わせてご覧ください。

▼過去ブログ
kintoneの計算式でIF関数を使ってみる【2020年1月アップデート機能】

DATE_FORMAT関数の設定

はじめに、DATE_FORMAT関数は、「日付」「日時」「時刻」を文字列として扱うことができる関数です。

DATE_FORMAT関数の詳細はこちら

DATE_FORMAT関数を使用しない場合と、使用する場合でそれぞれどのような表示になるのでしょうか。

【失敗例】kintoneの自動計算で日付フィールドを扱う際にDATE_FORMAT関数を使用しない場合

「契約日(日付フィールド)を入力した際に、自動で受注日(文字列1行フィールド)にも同じ日付を入れられるようにする」というシチュエーションを想定します。

まずは、自動計算にそのままフィールドコードを入力してみます。

この設定で受注日に日付を入力してみましたが、契約日の値が正しく反映されません。

これは、日付の値がUNIX時刻で扱われているからなのです。
UNIX時刻については、以下のkintoneヘルプ「日付、時刻、日時の計算」にありますので、参照してみてください。

kintoneヘルプ「日付、時刻、日時の計算」

【成功例】kintoneの自動計算で日付フィールドを扱う際にDATE_FORMAT関数を使用する場合

では、DATE_FORMAT関数を使用していきたいと思います!

先ほどの自動計算部分に、
DATE_FORMAT(フィールドコード,”日時の形式”,”タイムゾーン”)
という関数を置きます。

自動計算で扱う際のタイムゾーンはsystemにします。
systemを指定すると、管理者が設定した標準のタイムゾーンになるので、表示するタイムゾーンのミスを防ぐことができます。

この計算式の設定で契約日を入力してみます。

きちんと表示されました!


自動計算で日付フィールドを扱う際は、必ずDATE_FORMAT関数を使用しましょう。

このDATE_FORMAT関数は、IF関数中で日付フィールドを扱いたい場合も活躍します。
前置きが長くなってしまいましたが、さっそく本題に入っていこうと思います!

今回のシチュエーション

今回は、「雑誌の発売月ラベルが自動で入力される」というアプリを作成してみました。
発売月の入力設定ですが、

・発売日が入力されている→発売日の日付が自動入力される
・発売日が入力されていない→発売月と時期がセットで自動入力される


というシチュエーションを想定しています。

関数の設定

では、関数の設定をしていきましょう!

「もし発売日の値が無しだったら発売月と時期を、値が入力されていたら発売日を入力する」というIF関数を設定します。

今回の場合、入力に使用したいフィールドの中に日付フィールドが入っていますので、DATE_FORMAT関数を入れ込みます。
自動計算なので、タイムゾーンを「system」にすることも忘れずに。

IF関数の括弧の中にDATE_FORMAT関数をそのまま入れてあげればOKです。

入力結果

まずは、発売日が入っている状態から。

発売日(日付フィールド)の値がきちんと反映されています!

次に、発売月と時期を入力してみると

こちらもきちんと値が反映されました!

おわりに

いかがでしたか?

場合によって表示する日付を選択したい、というシチュエーションは結構あるかと思います。
DATE_FORMAT関数をうまく利用して、kintoneアプリをさらに使いやすくしていきましょう!

弊社では、初回開発無料の定額39万円でkintoneアプリを開発する定額型開発サービス「システム39」を提供しております。kintoneの導入やアプリ開発でお困りな方は、お気軽にご相談ください。

関連記事

kintoneのIF関数で条件に「チェックボックス」は使えない!
kintoneの計算式でIF関数を使ってみる【2020年1月アップデート機能】

同じカテゴリーの記事