コラム コラム:便利な関数2「Format関数、DateAdd関数」

本記事では、便利な関数(第2弾)を紹介させていただきます。

■1. Format関数
日付・時間を特定のフォーマットに設定したり、数字を特定の書式に設定したりする処理(カンマを入れる、桁あわせ、など)については、
こちらの関数を使用すると非常に便利です。
日付・時刻のフォーマット変更については「テキスト - Format/Date Time」を使用することでも可能ですが
こちらの関数を使用すると変数を用意したり、アクションを余計に増やしたりせずに済みます。
使用方法は以下です。
【本日日付を特定のフォーマットに変換する場合】
以下では本日日付を取得するためにDate()関数を使用しています。下記における本日日付を「2019/03/20」とおきます。

関数 結果
%Format(Date(), "yyyyMMdd")% 20190320
%Format(Date(), "yyyy年MM月dd日")% 2019年03月20日
%Format(Date(), "yyyy年M月")% 2019年3月
%Format(Date(), "yy年MM月")%  19年03月

【現在日付時刻を特定のフォーマットに変換する場合】
以下では本日日付を取得するためにNow関数を使用しています。下記における現在時刻を「2019/03/20 11:07:32」とおきます。

関数 結果
%Format(Now, "HH:mm")% 11:07
%Format(Now, "yyyyMMddHHnnss")% 20190320110732
%Format(Now, "HH時nn分ss秒")% 11時07分32秒

【数字を特定のフォーマットに変換する場合】
カンマ区切り、桁あわせなどを行うには、下記のように記述します。
なお、今回対象の数字は「1234」とします。

目的 関数 結果
3桁カンマ区切り %Format("1234", "###,###")% 1,234
左に0を足して6桁にあわせる %Format("1234", "00000")% 01234
スラッシュ区切り %Format("1234", "##/##")% 12/34

なお、「#」で埋めている場合は右詰めにされ余分な「#」は消えます。
それに対して「0」で埋めている場合はフォーマット対象の桁が足りていない際には足りない分が「0」で埋められます。
「20190320」を「2019/03/20」に変換したい場合も同様に「%Format("20190320", "0000/00/00")%」と記述すれば対応可能です。
実際のケースにおいては、上記の例において固定値になっていた部分を変数(var_Numberとおく)に変更し
「%Format(var_Number, "0000/00/00")%」のように使用することがほとんどかと思われます。

■2. DateAdd関数
日付計算を行うための関数が、このDateAdd関数です。日付計算はExcelのようにそのまま足し算・引き算出来ないので
関数を使用するか、「テキスト - Format/Date Time」アクションを使用する必要があります。
こちらの関数を使用するには、
DateAdd(インターバル, 日付, 間隔)のフォーマットで指定します。
例として、本日よりも2か月前の日付を取得するには、本日日付が「2019/03/20」とすると
%DateAdd("m",-2, Date())%
と指定することで結果「2019/01/20」が取得できます。
同様にして

目的 関数 結果
1年後の日付 %DateAdd("yyyy", 1, Date())% 2020/03/20
31日後の日付 %DateAdd("d", 31, Date())% 2019/04/20
2週間前の日付 %DateAdd("ww", -2, Date())% 2019/03/06

のようにして日付を計算した値の取得が可能となります。

日付のフォーマット変更や数字の桁あわせ、日付の計算などをお考えの際はぜひともご活用下さい。