日付時刻関数

最終更新日: 2023年7月31日

BETWEENTIME

BETWEENTIME(時刻型, 時刻型)

BETWEENTIME(日付時刻型, 日付時刻型)

BETWEENTIME(日付時刻/時刻の文字列表現, 日付時刻/時刻の文字列表現)

二つの引数の時間差をとります。戻り値の型は時刻型です。なお、24 時間を超過した分は切り捨てられます。

文字列表記された二つの日付型項目の時間差をとります。戻り値の型は時刻型です。なお、24 時間を超過した分は切り捨てられます。

BETWEENTIMEブロック

BOMONTH

BOMONTH(日付)

月初の日付を返します。戻り値の型は日付型です。

BOMONTHブロック

CLEARHMS

CLEARHMS(日付時刻)

日付時刻の時分秒をゼロクリアします。

CLEARHMS(${datetime})

DATE

DATE(日付)

DATE(日付時刻)

年月日の日付をシリアル値に変換します。ここでいうシリアル値とは、1900年1月1日を起点(1) とした経過日数です。戻り値の型は整数型です。

DATEブロック
動作
DATE(1900-01-01)1
DATE(2000-01-01)36526

なお、Excel は 1900 年をうるう年とみなす仕様です。この関数もその仕様に合わせています。

ワンポイント

この関数を応用して、二つの日付の差を求めることができます。具体的には次のように設定します。

二つの日付の差を求める

DATEDIF

DATEDIF(日付1, 日付2, 単位)

日付1と日付2との差を調べて、指定した単位で表示します。

指定できる単位は次の通りです。

  • 年数
  • 月数
  • 日数
  • 年数表示の端数での月数
  • 年数表示の端数での日数
  • 月数表示の端数での日数

生年月日項目と今日の日付から、年齢を求める例です。

DATEDIFブロック
動作
DATEDIF(${生年月日}, TODAY() ,年数) 51
(生年月日が 1970/12/9、TODAY()が 2022/8/18 の場合)
DATEDIF(${生年月日}, TODAY() ,年数表示での端数の月数) 8
(生年月日が 1970/12/9、TODAY()が 2022/8/18 の場合)

ワンポイント

この関数を組み合わせて、「何年何か月」という表示もできます。具体的には次のような式になります。

「何年何か月」を出力する

重要

単位が"日数"、"年数表示の端数での日数"、"月数表示の端数での日数"の場合、Excel とは違った値を返すことがあります。
これは Excel 側の不具合であることが知られていますので、まったく同じにならないことに留意してご使用ください。

DATESTRING

DATESTRING(日付)

日付型の値を和暦に変換します。和暦の書式は「(元号)NN年M月D日」です。戻り値の型は文字列型です。
下図の例ではTODAY()が 2022/8/18 だった場合、「令和4年8月18日」を返します。

DATESTRINGブロック

DATETIMEVALUE

DATETIMEVALUE(日付時刻を表す文字列)

日付時刻を表す文字列を日付時刻型に変換します。
"yyyy-MM-dd HH:mm:ss" および "yyyy/MM/dd HH:mm:ss" 表記が利用できます。戻り値の型は日付時刻型です。

DATETIMEVALUEブロック

DATEVALUE

DATEVALUE(日付を表す文字列)

日付を表す文字列を日付型に変換します。
"yyyy-MM-dd" および "yyyy/MM/dd" 表記が利用できます。戻り値の型は日付型です。

DATEVALUEブロック

DAY

DAY(日付)

引数の日付型の値から、日を求めます。(月は 1 から 31 までの範囲です。)戻り値の型は整数型です。

DAYブロック

EOMONTH

EOMONTH(日付)

月末の日付を返します。請求日項目に対する支払い期限の設定などに利用できます。戻り値の型は日付型です。

EOMONTHブロック

EXACT

EXACT(日付1, 日付2)

二つの日付の比較を行い、同一なら真(true)を返します。
戻り値の型は真偽値(trueまたはfalse)となるため、条件判定部で利用できます。

EXACTブロック

重要

日付の一致判定は EXACT 関数を用いてください。

FISCALYEAR

FISCALYEAR(日付)

入力日付(日付型)に対する「年度」を返します。戻り値の型は整数型です。

FISCALYEARブロック
動作
FISCALYEAR(DATEVALUE("2022-1-1")) 2021
FISCALYEAR(DATEVALUE("2022-3-31")) 2021
FISCALYEAR(DATEVALUE("2022-4-1")) 2022

HOUR

HOUR(時刻型)

HOUR(日付時刻型)

HOUR(日付型)

引数の値から、時刻の時の部分を求めます。

※日付型は通常、時間はゼロとなっています。そのためこの関数は通常、時刻型または日付時刻型を引数として使用します。
HOURブロック

ISBLANK

ISBLANK(日付型)

ISBLANK(時刻型)

ISBLANK(日付時刻型)

引数が NULL または空白かどうかを調べます。NULL または空白なら真(true)を返します。
戻り値の型は真偽値(trueまたはfalse)となるため、条件判定部で利用できます。

ISBLANKブロック
動作
ISBLANK("    ") true
ISBLANK(DATEVALUE("2022-08-18 15:00:00")) false

ISHOLIDAY

ISHOLIDAY(日付型)

引数の日付が休日かを調べます。休日なら真(true)を返します。
休日は暦の土、日、祝祭日および利用者が設定した休日のいずれかを指します。

ISHOLIDAYブロック

MINUTE

MINUTE(時刻型)

MINUTE(日付時刻型)

MINUTE(日付型)

引数の値から、時刻の分を求めます。

※日付型は通常、分はゼロとなっています。そのためこの関数は通常、時刻型または日付時刻型を引数として使います。
ISHOLIDAYブロック

MONTH

MONTH(日付)

引数の日付型の値から、月を求めます。(月は 1 から 12 までの範囲です)戻り値の型は整数型です。

MONTHブロック

MOVEDAY

MOVEDAY(日付, 日数)

指定した日数分だけ前後した日付を返します。(負数を与えると前に戻ります) 戻り値の型は日付型です。

MOVEDAYブロック

MOVEHOUR

MOVEHOUR(日付, 時)

MOVEHOUR(日付時刻, 時)

MOVEHOUR(時刻, 時)

指定した時間(時)だけ前後した日付時刻を返します。(負数を与えると前に戻ります) 戻り値の型は日付時刻型です。

MOVEHOURブロック

MOVEMINUTE

MOVEMINUTE(日付, 分)

MOVEMINUTE(日付時刻, 分)

MOVEMINUTE(時刻, 分)

指定した時間(分)だけ前後した日付時刻を返します。(負数を与えると前に戻ります。) 戻り値の型は日付時刻型です。

MOVEMINUTEブロック

MOVEMONTH

MOVEMONTH(日付, 月数)

指定した月数分だけ前後した日付を返します。(負数を与えると前に戻ります) 戻り値の型は日付型です。
この関数は EDATE と同じ動作となります。

MOVEMONTHブロック

MOVESECOND

MOVESECOND(日付, 秒)

MOVESECOND(日付時刻, 秒)

MOVESECOND(時刻, 秒)

指定した時間(秒)だけ前後した日付時刻を返します。(負数を与えると前に戻ります) 戻り値の型は日付時刻型です。

MOVESECONDブロック

MOVEYEAR

MOVEYEAR(日付, 年数)

指定した年数分だけ前後した日付を返します。(負数を与えると前に戻ります。) 戻り値の型は日付型です。

MOVEYEARブロック

NETWORKDAYS

NETWORKDAYS(開始日,終了日)

指定された2つの日付の期間に含まれる稼働日(土・日・祝日を除外した営業日)の日数を返します。

休日はWagbyに標準で同梱されている休日モデル(jholiday)を利用します。

NETWORKDAYSブロック

NOW

NOW()

今日の日付時刻を返します。戻り値は日付時刻型です。

同一モデル内の複数項目に NOW() を適用した場合、すべての NOW() の戻り値は同じとなることが保証されます。
(描画のタイミングによって、ある項目の NOW() は 00 秒で、別の項目の NOW() は 01 秒になるということはありません)

NOWブロック

SECOND

SECOND(時刻型)

SECOND(日付時刻型)

SECOND(日付型)

引数の値から、時刻の秒部分を求めます。

※日付型は通常、秒はゼロとなっています。そのためこの関数は通常、時刻型または日付時刻型を引数として使います。
SECONDブロック

TEXT

TEXT(日付型, 書式)

TEXT(時刻型, 書式)

TEXT(日付時刻型, 書式)

日付型を書式設定した文字列に変換します。

TEXTブロック
動作
TEXT(${日付}, "yyyy-MM-dd") "2022-08-01"
※ ${日付} の値が 2022-8-1 の場合。
TEXT(${日付}, "yyyy年M月d日") "2022年8月1日"
※ ${date} の値が 2022-8-1 の場合。
TEXT(${日付}, "{0}{1,number,integer}年{2,number,integer}月{3,number,integer}日") "令和4年8月1日"
※ ${日付} の値が 2022-8-1 の場合。
(詳細は「和暦についての補足」をお読みください。)
TEXT(${時刻}, "HH:mm") "15:05"
※ ${time} の値が 15:05:55 の場合。時刻を24時間表記するときは大文字の"H"を使います。
Excel には 24 時間以上を表記するための指定 "[h]:mm" がありますが、Wagby ではサポートしていません。
TEXT(${時刻}, "h:m:s") "3:5:55"
※ ${time} の値が 15:05:55 の場合。
TEXT(${時刻}, "ahh:mm") "午後12:00"
※ ${time} の値が 00:00:00 の場合。"a"によって"午前/午後"を表示できます。

和暦についての補足

和暦書式のルールは次のとおりです。

指定方法説明
{0} または {5}年号(明治、大正、昭和、平成、令和)
{6}年号(明、大、昭、平、令)
{7}年号(M、T、S、H、R)
{1,number,integer}
{2,number,integer}
{3,number,integer}

応用例 : 日付の「年度」部分を "Rxx" 形式の文字列として取得する

FISCALYEAR関数と組み合わせます。日付1 は日付型項目です。

TEXTブロック(応用)

TIME

TIME(時刻型)

指定された時刻に対応する時間シリアル値(小数)を返します。ここでいうシリアル値は「1」を 24 時間とみなした小数値です。
戻り値の型は 8 バイト浮動小数点型です。

23 を超える時間指定は、24 で除算された剰余が用いられます。
59 を超える分指定は、時と分に変換されます。
59 を超える秒指定は、時、分、秒に変換されます。

TIMEブロック

TIMEVALUE

TIMEVALUE(時刻を表す文字列)

時刻を表す文字列を時刻型に変換します。"HH:mm" や "HH:mm:ss" といった表記が利用できます。戻り値の型は時刻型です。

TIMEブロック

TODATE

TODATE(日付時刻型)

日付時刻型を日付型に変換します。

TODATEブロック

TODATETIME

TODATETIME(日付型)

TODATETIME(時刻型)

日付型、時刻型を日付時刻型に変換します。

TODATETIMEブロック

TODAY

TODAY()

今日の日付を返します。戻り値は「日付型」です。

同一モデル内の複数項目に TODAY() を適用した場合、すべての TODAY() の戻り値は同じとなることが保証されます。(描画のタイミングによって、ある項目の TODAY() は 1月1日で、別の項目の TODAY() は 1月2日になるということはありません。)

TODAYブロック

TOTIME

TOTIME(日付時刻型)

日付時刻型を時刻型に変換します。

TOTIMEブロック

WEEKDAY

WEEKDAY(日付)

日付を曜日に対応する数値に変換します。日曜日を 1 とし、土曜日が 7 です。戻り値の型は整数型です。

WEEKDAY(${date1})

WEEKDAY(日付)

日付を曜日に対応する数値に変換します。戻り値の型は整数型です。

引数の日付が null の場合は、-1 を返します。

WEEKDAYブロック

WEEKNUM

WEEKNUM(日付)

日付がその年の第何週目に当たるかを返します。週の始まりを日曜日とします。戻り値の型は整数型です。

WEEKNUMブロック

WORKDAY

WORKDAY(日付,日数)

土・日・祝日を除外し、ある日付から指定された日数だけ前後した日付を返します。戻り値の型は日付型です。

休日はWagbyに標準で同梱されている休日モデル(jholiday)を利用します。

WORKDAYブロック

YEAR

YEAR(日付)

引数の日付型の値から、年を求めます。戻り値の型は整数型です。

WORKDAYブロック