設計ガイド
なんか問題がある?心配しないで、答えは全部ここにいる。
全サイト検索

日付と時刻関数

日付や時刻に関連するデータを取得するための関数。例えば、年、月、日、時刻、または特定の営業日を返すものなど。

関数一覧

以下はサポートされている計算式の一覧です。なお、これらの計算式は大文字・小文字を区別します

関数 概要
TODAY() 現在の日付を送り返す。 毎日の関数再計算の参照フィールドとして使用するには、TODAY()の代わりにTODAYTZ()を使用する ことを推奨します
TODAYTZ() 会社設定に基づき、会社の時間帯で現在の日付を返す
NOW() 現在の日付と時刻を返す
NOWTZ() 会社設定に基づき、会社の時間帯で現在の日付と時刻を返す
EDATE(start_date, months) 指定された時刻(start_date)の前後数ヶ月の日付を表す連続した数値を返す。詳細は こちら
EOMONTH(start_date, months) 指定された日付(start_date)の前後の数か月(months)の最終日を表す連続的の数値を返す。詳細は こちら
YEAR() 日付フィールドの年を返す
MONTH() 日付フィールドの月を返す
DAY() 日付フィールドの日を返す
DATE(year,month,day) 3 つの参照数値フィールドの値を組み合わせて、日付を返す。 誤りを防ぐため、年フィールドには4桁の値を使用してください
WEEKDAY() 一週の何日目を返送、1日目(日曜日)から7日目(土曜日)まで表示する
WORKDAY(start_date,days,["holidays"], [makeup_workdays]) 指定された日付(開始日)は、土日や指定された祝日(どの日が営業日か指定する)を含まない前後の営業日数分の日付を返す。詳細はこちら
WORKDAY.INTL(start_date,days,weekend_no,["holidays"], [makeup_workdays]) パラメータで、どの日が何日目に週末になるかを指定し(どの日が営業日になるかを指定し)、代表日(開始日)の前後に指定した営業日数を返します。詳細はこちら
NETWORKDAYS(start_date,end_date,["holidays"], [makeup_workdays])) start_date から end_date までの営業日のうち、休日(土日、指定休日)以外の日数および営業日として指定された日数を返す。詳細はこちら
NETWORKDAYS.INTL(start_date,end_date,weekend_no,["holidays"], [makeup_workdays]) パラメータで、どの日が何日目に週末になるかを示し(どの日が営業日になるかを指定し)、2つの日付の間の全営業日の数を送り返す。詳細はこちら
ISOWEEKNUM(date) 指定された日付はその年の何週目、月曜日は週の初日として設定されている。
WEEKNUM(serial_number,[return_type]) 指定された日付はその年の何週目、週の初日は自分で設定できる。詳細はこちら
DATEVALUE(date_text, date_format) 日付(時刻)フィールドに適用し、参照文字列を日付(時刻)値に変換する。"date_text "は固定の日付文字列または参照文字列フィールド、"date_format "は参照日付文字列形式を示す。例えば、A1の文字列の値が「2019/02/01」で、これを日付フィールドに変換したい場合、DATEVALUE(A1, "yyyy/MM/dd")という数式を日付フィールドに適用すると、変換された結果が得られます。
HOUR() この関数は、3つの使い方をサポートします:
1. パラメータを0-1に持ち込み、24時間単位の割合を返す。例:HOUR(0.5)=12。
2. パラメータを日付フィールドに持ち込み、フィールドの時間単位値を返す。例:A9のフィールド値は18:11:19、HOUR(A9)=18。
3. パラメータを日付の文字列に持ち込み、文字列内の時間単位値を返す。例:HOUR("2020/10/13 17:34:56")=17。
MINUTE() この関数は、3つの使い方をサポートします:
1. パラメータを0-1に持ち込み、ˊ60分単位の割合を返す。例:MINUTE(0.5)=30。
2. パラメータを日付フィールドに持ち込み、フィールドの分単位値を返す。例:A9のフィールド值は18:11:19,MINUTE(A9)=11。
3. パラメータを日付の文字列に持ち込み、文字列内の分単位値を返す。例:MINUTE("2020/10/13 17:34:56")=34。
SECOND() この関数は、3つの使い方をサポートします:
1. パラメータを0-1に持ち込み、ˊ60秒単位の割合を返す。例:SECOND(0.75)=45。
2. パラメータを日付フィールドに持ち込み、フィールドの秒単位値を返す。例:A9のフィールド値は18:11:19,SECOND(A9)=19。
3. パラメータを日付の文字列に持ち込み、文字列内の秒単位値を返す。例:SECOND("2020/10/13 17:34:56")=56。
TIME(hour, minute, second) 特定時間の小数を返す、返される小数は 0 から 0.99988426 までの値で、0:00:00 から 23:59:59 までの時間を表しています。

Hourは時間を表し、0から32767の範囲とする。 23以上の値は24で割り、その余りを時間値とする。 例:TIME(27,0,0) = TIME(3,0,0) = 0.125 または午前3時。

Minute は分を表し、0から32767の範囲とする。 59以上の数値は、時・分に変換されます。例:TIME(0,750,0) = TIME(12,30,0) = 0.520833 または 12:30 PM。

Second は秒を表し、0から32767の範囲とする。 59以上の数値は、時・分・秒に変換されます。例:TIME(0,0,2000) = TIME(0,33,22) = 0.023148 または 12:33:20 AM。

日付と時刻の計算

日付フィールドを参照する数式

日付フィールドを参照する数式では、指定した日付から N 日後または前 を計算できます。 例えば、A1 が日付フィールドの場合、`A1+7` と設定すると、A1 の日付から 7 日後の日付が表示されます。

日付を使った計算のもう一つの一般的な用途は、年齢の計算です。例えば B1 が誕生日の場合、数式を

(TODAY() - B1)/365.25

と設定することで、現在の年齢を表すことができます。

日付に対応する数式の詳細については、対応する数式一覧 をご参照ください。

時間フィールドを参照する数式

1 日の中で時間差を計算するには、時刻フォーマット(HH:mm)の日付フィールド または 数値フィールド が必要です。

例えば、A1 を開始時刻(HH:mm)、A2 を終了時刻(HH:mm)とした場合、A1 から A2 までの時間差を「時間数」で求めるには次の 2 通りがあります:

1. 書式(HH:mm)の日付フィールド A3 を使い、数式を A2 - A1 と設定する。

2. 書式(0.0)の数値フィールド A3 を使い、数式を (A2 - A1)/60 と設定する。

注意:

(1) 数式で参照する日付フィールドは 空欄にできません。空欄があると数式は実行されず、時間計算もできません。

もし対象フィールドが空欄になる可能性がある場合は、数値フィールドに変更することを推奨します。

例:

A1 を「開始時刻」(HH:mm)、A2 を「所要時間」(HH:mm)とし、A3 に「終了時刻」(HH:mm)を求める数式 A2 + A1 を設定した場合、A2 が空欄だと A3 は空のままになります。

しかし、A2 を「分数」で表す数値フィールドに変更すれば、A2 が空欄でも A3 は正しく計算されます。

(2) 開始時刻と終了時刻が異なる日付にまたがる場合 は、日付と時刻を含む書式(yyyy/MM/dd HH:mm)の日付フィールドを使用する必要があります。

例えば、A1 を開始日時(yyyy/MM/dd HH:mm)、A2 を終了日時(yyyy/MM/dd HH:mm)とし、A3 を書式(0.0)の数値フィールドに設定して数式 (A2 - A1) * 24 を適用すると、時間数を正しく計算できます。

関数の詳細と活用方法

WORKDAY 関数

日付フィールドに適用すると、その日付(開始日)の前後何営業日かを表す日付が返される。営業日には、土日祝日を含みません(ただし、指定された営業日が含みます)。WORKDAYを使用すると、請求書の締切日、配送予定日、営業日数を計算する際に、週末や休日を除外し、指定した営業日を含むことができます。

関数 文法
WORKDAY WORKDAY(start_date,days,["holidays"], ["makeup_workdays"])

WORKDAY関数には以下のパラメータが必要です:

Start_date は必須で、開始日の日付を表す。

Days は必須で、start_dateの前後で週末および休日でない日数を表す。正数は将来の日付、負数は過去の日付を表す。

Holidays はオプションで、祝祭日など、勤務カレンダーから除外する1つまたは複数の日付のオプションリストです。 このリストは、日付のシリアル値を表す定数の配列である。

Makeup_workdays はオプションで、勤務カレンダーから含める1つ以上の日付(例:振替出勤日)のリストです。 このリストは、日付のシリアル値を表す定数の配列である。

例1:

日付フィールドを"WORKDAY(A1,A2,["2017/06/16","2017/06/19"])"数式に適用

A1の日付値を2017/06/15、A2の数値を9とし、除外する日付を "2017/06/16"、"2017/06/19 "と指定する。

開始日から土日と2017/06/16、2017/06/19の特定休日を除く9日目から算出した結果は、 2017/06/30となります。

例2:

日付フィールドを"WORKDAY(A1,A2,["2017/06/16","2017/06/19"],["2017/06/24"])"数式に適用

A1の日付値を2017/06/15、A2の数値を9とし、除外日を「2017/06/16」「2017/06/19」と指定するが、営業日として土曜日の「2017/06/24」を指定する

開始日以降の土日と2017/06/16、2017/06/19の特定休日を除き、特定営業日「2017/06/24」を含む場合は、9日目の結果が 2017/06/29になります。

注意: holidays または makeup_workdays 引数を使用する場合、各シートで個別に設定する手間を避けるため、データベース全体で共通の日付を管理できる配列型のグローバル定数を定義し、計算式内で参照することができます。 詳細については、こちらをご参照ください。

WORKDAY.INTL 関数

週末をカスタム設定したうえで、指定した稼働日数の前後にあたる日付のシリアル値を返します。 週末パラメータでは、どの曜日を週末とするか、週末の日数を指定できます。 週末に指定された日、および祝日として指定された日は稼働日に含まれません。

関数 文法
WORKDAY WORKDAY.INTL(start_date,days,weekend_no,["holidays"], ["makeup_workdays"])

WORKDAY.INTL関数には、以下のパラメータが必要:

Start_date は必須で、開始日の日付を表す。

Days は必須で、開始日の前後で週末および休日でない日数を表す。正数は未来の日付、負数は過去の日付を表す。

Weekend_no はオプションで、週末が土日以外の場合は、以下の表を参照して、対応するWeekend番号を記入してください。

Holidays はオプションで、祝祭日など、勤務カレンダーから除外する1つまたは複数の日付のオプションリストです。 このリストは、日付のシリアル値を表す定数の配列である。

Makeup_workdays はオプションで、勤務カレンダーから含める1つ以上の日付(例:振替出勤日)のオプションリストです。 このリストは、日付のシリアル値を表す定数の配列である。

例1:

日付フィールドを "WORKDAY(A1,A2,2,["2017/06/16", "2017/06/19"])" 数式に適用。

A1の日付値を2017/06/15、A2の数値を9とし、日曜日と月曜日を週末とした場合、除外日は "2017/06/16 "と "2017/06/19"

開始日から土日と2017/06/16、2017/06/19の特定休日を除く9日目から算出した結果が 2017/06/29になります。

注意: holidays または makeup_workdays 引数を使用する場合、各シートで個別に設定する手間を避けるため、データベース全体で共通の日付を管理できる配列型のグローバル定数を定義し、計算式内で参照することができます。 詳細については、こちらをご参照ください。

NETWORKDAYS 関数

数値フィールドに適用すると、start_date から end_date までの勤務日数の全日数が返される。勤務日数には、土日祝祭日を含みません(特定された勤務日は含まれます)。NETWORKDAYSを使用して、所定の期間に勤務した日数に基づいて従業員の給与総額を計算できます。

関数 文法
NETWORKDAYS NETWORKDAYS(start_date, end_date, ["holidays"], ["makeup_workdays"])

NETWORKDAYSの関数には、以下のパラメータが必要:

Start_date は必須で、開始日の日付を表す。

End_date は必須で、終了日の日付を表す。

Holidays はオプションで、祝祭日など、勤務カレンダーから除外する1つまたは複数の日付のオプションリストです。 このリストは、日付のシリアル値を表す定数の配列である。

Makeup_workdays はオプションで、勤務カレンダーから含める1つ以上の日付(例:振替出勤日)のオプションリストです。 このリストは、日付のシリアル値を表す定数の配列である。

例1:

数値フィールドを"NETWORKDAYS(E1,E2,['2017/10/04','2017/10/09','2017/10/10'])"数式に適用。

E1の日付値を2017/10/01、E2の日付値を2017/10/31とすると、除外日は "2017/10/04", "2017/10/09", "2017/10/10"

開始日から終了日までの労働日数は、土日および指定3日間を除外し、19日になります。

例2:

数値フィールドを"NETWORKDAYS(E1,E2,['2017/10/04','2017/10/09','2017/10/10'],['2017/10/28','2017/10/29'])"数式に適用。

E1の日付値を2017/10/01、E2の日付値を2017/10/31とし、除外する日付を「2017/10/04」「2017/10/09」「2017/10/10」と指定し、勤務日として「2017/10/28」(土)「2017/10/29」(日)を指定した場合

開始日から終了日までの勤務日数には、週末および指定された3休業日を含まず、特定営業日「2017/10/28」(土)、「2017/10/29」を含む場合は21日として計算します。

注意: holidays または makeup_workdays 引数を使用する場合、各シートで個別に設定する手間を避けるため、データベース全体で共通の日付を管理できる配列型のグローバル定数を定義し、計算式内で参照することができます。 詳細については、こちらをご参照ください。

NETWORKDAYS.INTL 関数

数値フィールドに適用し、パラメータでどの日と何日が週末であるかを指定すると、2つの日付間の全勤務日数が返されます。勤務日には土日祝日を含まない(ただし、指定された勤務日は含む)

関数 文法
NETWORKDAYS.INTL NETWORKDAYS.INTL(start_date,end_date,weekend_no,["holidays"], ["makeup_workdays"])

NETWORKDAYS.INTL の関数には、以下のパラメータが必要:

Start_date和End_date は、日付のギャップを計算するために必要である。Start_date は end_date よりも前、等しい、または後とすることができる。

Weekend_no Weekend_noはオプションで、週末が土日以外の場合は、以下の表を参照して、対応するWeekend番号を記入してください。

Holidays はオプションで、祝祭日など、勤務カレンダーから除外する1つまたは複数の日付のオプションリストです。 このリストは、日付のシリアル値を表す定数の配列である。

Makeup_workdays はオプションで、勤務カレンダーから含める1つ以上の日付(例:振替出勤日)のオプションリストです。 このリストは、日付のシリアル値を表す定数の配列である。

:

数値フィールドを"NETWORKDAYS.INTL(E1,E2,11,['2017/06/16'])"数式に適用。

E1の日付値を2017/06/01、E2の日付値を2017/06/30とし、週末を日曜日の1日だけと指定し、集計しない日付を "2017/06/16 "と指定する。

開始日から終了日までの週末(日曜日のみ)と指定された「2017/06/16」を除く営業日数で、結果は25日間となります

Weekendパラメータ対応表:

Weekend数字 対応の週末日
1又は省略 土曜日、日曜日
2 日曜日、月曜日
3 月曜日、火曜日
4 火曜日、水曜日
5 水曜日、木曜日
6 木曜日、金曜日
7 金曜日、土曜日
11 日曜日だけ
12 月曜日だけ
13 火曜日だけ
14 水曜日だけ
15 木曜日だけ
16 金曜日だけ
17 土曜日だけ

WEEKNUM 関数

指定した日付が、その年の何週目にあたるかを返します。 週の開始曜日を指定することも可能です。

関数 文法
WEEKNUM WEEKNUM(Date,[return_type])

引数:

Date(必須):計算対象となる日付フィールド。

Return_type(任意):週の開始日を指定する数値です。既定値は 1(日曜日を週の開始日とする)です。その他の有効な値については、下記の表をご参照ください。

この関数では、以下の 2 つの方式が使用されます:

方式 1: 1 月 1 日を含む週を、その年の第 1 週とし、「週 1」としてカウントします。

方式 2: その年の最初の木曜日を含む週を第 1 週とします。この方式は ISO 8601 で定義されており、一般に「ヨーロッパ式週番号」として知られています。

特別な要件がない場合は、方式 1 を使用することを推奨します。

Return_type 週の開始日 方式
1 または省略 日曜日 1
2 月曜日 1
11 月曜日 1
12 火曜日 1
13 水曜日 1
14 木曜日 1
15 金曜日 1
16 土曜日 1
17 日曜日 1
21 月曜日 2

例:

日付フィールド(A2)に 2020/01/07(火曜日)が入力されている場合、WEEKNUM 関数を異なる指定方法で使用すると、以下の結果が得られます。

計算式 結果
WEEKNUM(A2) 2
WEEKNUM(A2, 13)(週の開始日:水曜日) 1

EDATE 関数

指定した日付に対して、指定した月数を加算または減算し、月や年の切り替わりを自動的に処理して日付を計算します。

定期スケジュール、期限日の管理、財務処理などでよく使用されます。

関数名 構文
EDATE EDATE(start_date, months)

引数:

start_date(必須):基準となる開始日。日付を直接入力するか、日付フィールドを参照します。

months(必須):加算または減算する月数。正の値は未来方向、負の値は過去方向を指定します。

例 1: 次回請求日の計算

毎月 15 日に請求が行われる場合、「次回請求日」フィールドに EDATE("前回請求日", 1) を入力すると、次回の請求日を自動的に算出できます。

例 2: 税務申告の事前リマインダー設定

税務申告に向けた早期リマインダーを設定するには、「税務リマインダー日」フィールドに EDATE("申告期限日", -2) を入力し、申告期限の 2 か月前の日付を算出します。

EOMONTH 関数

指定した日付に対して、指定した月数を加算または減算した後の月末日を計算します。

給与計算、決算処理、契約満了日の管理などでよく使用されます。

関数名 構文
EOMONTH EOMONTH(start_date, months)

引数:

start_date(必須):基準となる開始日。日付を直接入力するか、日付フィールドを参照します。

months(必須):加算または減算する月数。正の値は未来方向、負の値は過去方向を指定します。

例 1: 家賃支払期限のリマインダー

家賃が 2 か月ごとに支払われる場合、「次回家賃支払期限日」フィールドに EOMONTH("前回支払日", 2) を入力すると、次回の月末支払期限日を算出でき、事前のリマインダー送信に役立ちます。

例 2: 家賃の事前リマインダー

家賃の支払期限が毎月月末で、1 か月前にリマインダーを送信したい場合は、「期限日リマインダー」フィールドに EOMONTH("家賃支払期限日", -1) を入力し、前月の月末日を算出します。

Ragic にフィードバックを送る

ご意見をお聞かせください(必須・複数選択可)

上記の項目について、詳細をご記入ください:

フィードバック理解のため、スクリーンショットをご提供ください:

貴重なご意見をありがとうございます!

無料でRagicを始める

Googleアカウントに登録

Ragic 株式会社
1-888-666-8037
info@ragic.com
利用規約 | プライバシーポリシー