日付時刻関数
最終更新日: 2023年7月31日
二つの引数の時間差をとります。戻り値の型は時刻型です。なお、24 時間を超過した分は切り捨てられます。
文字列表記された二つの日付型項目の時間差をとります。戻り値の型は時刻型です。なお、24 時間を超過した分は切り捨てられます。
月初の日付を返します。戻り値の型は日付型です。
日付時刻の時分秒をゼロクリアします。
年月日の日付をシリアル値に変換します。ここでいうシリアル値とは、1900年1月1日を起点(1) とした経過日数です。戻り値の型は整数型です。
なお、Excel は 1900 年をうるう年とみなす仕様です。この関数もその仕様に合わせています。
この関数を応用して、二つの日付の差を求めることができます。具体的には次のように設定します。
日付1と日付2との差を調べて、指定した単位で表示します。
指定できる単位は次の通りです。
BETWEENTIME
BETWEENTIME(時刻型, 時刻型)
BETWEENTIME(日付時刻型, 日付時刻型)
BETWEENTIME(日付時刻/時刻の文字列表現, 日付時刻/時刻の文字列表現)
BOMONTH
BOMONTH(日付)
CLEARHMS
CLEARHMS(日付時刻)
CLEARHMS(${datetime})
DATE
DATE(日付)
DATE(日付時刻)
例
例 動作
DATE(1900-01-01) 1
DATE(2000-01-01) 36526
ワンポイント
DATEDIF
DATEDIF(日付1, 日付2, 単位)
例
生年月日項目と今日の日付から、年齢を求める例です。
例 | 動作 |
---|---|
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日」を返します。
DATETIMEVALUE
DATETIMEVALUE(日付時刻を表す文字列)
日付時刻を表す文字列を日付時刻型に変換します。
"yyyy-MM-dd HH:mm:ss" および "yyyy/MM/dd HH:mm:ss" 表記が利用できます。戻り値の型は日付時刻型です。
DATEVALUE
DATEVALUE(日付を表す文字列)
日付を表す文字列を日付型に変換します。
"yyyy-MM-dd" および "yyyy/MM/dd" 表記が利用できます。戻り値の型は日付型です。
DAY
DAY(日付)
引数の日付型の値から、日を求めます。(月は 1 から 31 までの範囲です。)戻り値の型は整数型です。
EOMONTH
EOMONTH(日付)
月末の日付を返します。請求日項目に対する支払い期限の設定などに利用できます。戻り値の型は日付型です。
EXACT
EXACT(日付1, 日付2)
二つの日付の比較を行い、同一なら真(true)を返します。
戻り値の型は真偽値(trueまたはfalse)となるため、条件判定部で利用できます。
重要
日付の一致判定は EXACT 関数を用いてください。
FISCALYEAR
FISCALYEAR(日付)
入力日付(日付型)に対する「年度」を返します。戻り値の型は整数型です。
例 | 動作 |
---|---|
FISCALYEAR(DATEVALUE("2022-1-1")) | 2021 |
FISCALYEAR(DATEVALUE("2022-3-31")) | 2021 |
FISCALYEAR(DATEVALUE("2022-4-1")) | 2022 |
HOUR
HOUR(時刻型)
HOUR(日付時刻型)
HOUR(日付型)※
引数の値から、時刻の時の部分を求めます。
ISBLANK
ISBLANK(日付型)
ISBLANK(時刻型)
ISBLANK(日付時刻型)
引数が NULL または空白かどうかを調べます。NULL または空白なら真(true)を返します。
戻り値の型は真偽値(trueまたはfalse)となるため、条件判定部で利用できます。
例 | 動作 |
---|---|
ISBLANK(" ") | true |
ISBLANK(DATEVALUE("2022-08-18 15:00:00")) | false |
ISHOLIDAY
ISHOLIDAY(日付型)
引数の日付が休日かを調べます。休日なら真(true)を返します。
休日は暦の土、日、祝祭日および利用者が設定した休日のいずれかを指します。
MINUTE
MINUTE(時刻型)
MINUTE(日付時刻型)
MINUTE(日付型)※
引数の値から、時刻の分を求めます。
MONTH
MONTH(日付)
引数の日付型の値から、月を求めます。(月は 1 から 12 までの範囲です)戻り値の型は整数型です。
MOVEDAY
MOVEDAY(日付, 日数)
指定した日数分だけ前後した日付を返します。(負数を与えると前に戻ります) 戻り値の型は日付型です。
MOVEHOUR
MOVEHOUR(日付, 時)
MOVEHOUR(日付時刻, 時)
MOVEHOUR(時刻, 時)
指定した時間(時)だけ前後した日付時刻を返します。(負数を与えると前に戻ります) 戻り値の型は日付時刻型です。
MOVEMINUTE
MOVEMINUTE(日付, 分)
MOVEMINUTE(日付時刻, 分)
MOVEMINUTE(時刻, 分)
指定した時間(分)だけ前後した日付時刻を返します。(負数を与えると前に戻ります。) 戻り値の型は日付時刻型です。
MOVEMONTH
MOVEMONTH(日付, 月数)
指定した月数分だけ前後した日付を返します。(負数を与えると前に戻ります) 戻り値の型は日付型です。
この関数は EDATE と同じ動作となります。
MOVESECOND
MOVESECOND(日付, 秒)
MOVESECOND(日付時刻, 秒)
MOVESECOND(時刻, 秒)
指定した時間(秒)だけ前後した日付時刻を返します。(負数を与えると前に戻ります) 戻り値の型は日付時刻型です。
MOVEYEAR
MOVEYEAR(日付, 年数)
指定した年数分だけ前後した日付を返します。(負数を与えると前に戻ります。) 戻り値の型は日付型です。
NETWORKDAYS
NETWORKDAYS(開始日,終了日)
指定された2つの日付の期間に含まれる稼働日(土・日・祝日を除外した営業日)の日数を返します。
休日はWagbyに標準で同梱されている休日モデル(jholiday)を利用します。
NOW
NOW()
今日の日付時刻を返します。戻り値は日付時刻型です。
(描画のタイミングによって、ある項目の NOW() は 00 秒で、別の項目の NOW() は 01 秒になるということはありません)
SECOND
SECOND(時刻型)
SECOND(日付時刻型)
SECOND(日付型)※
引数の値から、時刻の秒部分を求めます。
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 は日付型項目です。
TIME
TIME(時刻型)
指定された時刻に対応する時間シリアル値(小数)を返します。ここでいうシリアル値は「1」を 24 時間とみなした小数値です。
戻り値の型は 8 バイト浮動小数点型です。
23 を超える時間指定は、24 で除算された剰余が用いられます。
59 を超える分指定は、時と分に変換されます。
59 を超える秒指定は、時、分、秒に変換されます。
TIMEVALUE
TIMEVALUE(時刻を表す文字列)
時刻を表す文字列を時刻型に変換します。"HH:mm" や "HH:mm:ss" といった表記が利用できます。戻り値の型は時刻型です。
TODATE
TODATE(日付時刻型)
日付時刻型を日付型に変換します。
TODATETIME
TODATETIME(日付型)
TODATETIME(時刻型)
日付型、時刻型を日付時刻型に変換します。
TODAY
TODAY()
今日の日付を返します。戻り値は「日付型」です。
TOTIME
TOTIME(日付時刻型)
日付時刻型を時刻型に変換します。
WEEKDAY
WEEKDAY(日付)
日付を曜日に対応する数値に変換します。日曜日を 1 とし、土曜日が 7 です。戻り値の型は整数型です。
WEEKDAY(${date1})
WEEKDAY(日付)
日付を曜日に対応する数値に変換します。戻り値の型は整数型です。
引数の日付が null の場合は、-1 を返します。
WEEKNUM
WEEKNUM(日付)
日付がその年の第何週目に当たるかを返します。週の始まりを日曜日とします。戻り値の型は整数型です。
WORKDAY
WORKDAY(日付,日数)
土・日・祝日を除外し、ある日付から指定された日数だけ前後した日付を返します。戻り値の型は日付型です。
休日はWagbyに標準で同梱されている休日モデル(jholiday)を利用します。
YEAR
YEAR(日付)
引数の日付型の値から、年を求めます。戻り値の型は整数型です。