Excel 2013 日付/時刻関数

  1. 日付/時刻関数リストの表示
  2. 「シリアル値」について
  3. 指定した日付のシリアル値を求めるDATE関数
  4. 指定した期間の年/月/日の数を求めるDATEDIF関数
  5. 指定した日付を和暦で表示するDATESTRING関数
  6. 文字列形式の日付をシリアル値に変換するDATEVALUE関数
  7. シリアル値に対応する日を求めるDAY関数
  8. 2つの日付間の日数を求めるDAYS関数
  9. 指定した月だけ前/後の日付のシリアル値を求めるEDATE関数
  10. 指定した月だけ前/後の月の最終シリアル値を求めるEOMONTH関数
  11. 時刻を0~23の整数で求めるHOUR関数
  12. 指定された日付のその年におけるISO週番号を求めるISOWEEKNUM関数
  13. 分を0~59の整数で求めるMINUTE関数
  14. 月を1~12の整数で求めるMONTH関数
  15. 指定した期間のウイークデーの日数を求めるNETWORKDAYS関数
  16. 現在の日付と時刻のシリアル値を求めるNOW関数
  17. 秒を0~59の整数で求めるSECOND関数
  18. 指定した時刻の小数点以下のシリアル値を求めるTIME関数
  19. 文字列形式の時刻を小数点以下のシリアル値に変換するTIMEVALUE関数
  20. 現在の日付のシリアル値を求めるTODAY関数
  21. 日付に対応する曜日を0~7で求めるWEEKDAY関数
  22. 日付がその年の何週めかを求めるWEEKNUM関数
  23. 指定した期間の日数を求めるWORKDAY関数
  24. 年を1900~9999の整数で求めるYEAR関数
  25. 指定した期間の日数を年を単位とした数値で求めるYEARFRAC関数

日付/時刻関数を使って、さまざまな形で日付や時刻を扱うことができます。

サンプルデータdatetime-function_es.xlsx「日付/時刻関数(演習).xlsx」を開きます。

尚、このマニュアルでは特に断らない限り、ショートカットキーで「関数の挿入」ダイアログ ボックスを開き、「関数の分類」から関数名のリストを表示させる手順で説明します。

その他の方法での関数の入力手順については、関数の入力方法を参照してください。

日付/時刻関数リストの表示

「関数の挿入」ダイアログ ボックスでは、以下の手順で日付/時刻関数のリストを表示させることができます。

(注) 各関数の入力手順の説明は、関数名のリストが表示された状態から行います。


「シリアル値」について

Excelでは、日付を連続したシリアル値として表しており、日付や時刻の計算は、すべてこの「シリアル値」で行われます。

既定では、1900年1月1日がシリアル値「1」であり、1日増すごとに「1」ずつ加算されます。

例えば、2016年4月30日のシリアル値は「42490」となりますが、これは、この日が1900年1月1日から42490日後に当たるという意味です。

また、時刻についてもシリアル値で表されますが、時刻の場合は小数点以下となります。

例えば、正午は「0.5」であり、18時(午後6時)は「0.75」となります。また、「15時48分」のシリアル値は「0.658333」です。

実際には、シリアル値表示で使用することはあまりないと思いますが、シリアル値がどういうものかを確認するために、このマニュアルでは、シリアル値表示に変更する演習を取り入れています。


指定した日付のシリアル値を求めるDATE関数

DATE関数は、特定の日付を表すシリアル値を返します。例えば、セルに入力された値が日付形式以外の場合、また「年」「月」「日」が別のセルに入力されている場合に、それらをまとめて日付を表示させるのに有効です。

【書式】 =DATE(年,月,日)

【説明】 年: 必ず指定します。「年」は西暦で、1~4桁で指定できますが、誤認識を防ぐため、4桁で入力するようにします。
   月: 必ず指定します。1~12の間で指定します。日: 必ず指定します。1~31の間で指定します。

【ワンポイント】 この関数を挿入する前のセルの表示形式が「標準」であった場合、結果は日付形式になります。シリアル値で表示させたい場合は、改めて表示形式を「標準」にします。

ここではサンプルデータのシート「DATE」のセルB6に、セルA6からA8までの値をまとめてシリアル値で表示します。

シート「DATE」を選択します。

【入力された数式】 =DATE(A6,A7,A8)

【ワンポイント】 セルの表示形式が「日付」でよい場合は、手順7.は不要です。


指定した期間の年/月/日の数を求めるDATEDIF関数

DATEDIF関数は、開始日から終了日までの間を、年・月・日単位で求めます。

【書式】 =DATEDIF(開始日,終了日,単位)

【説明】 開始日: 必ず指定します。日付を表す文字列またはシリアル値を指定します。終了日: 必ず指定します。日付を表す文字列またはシリアル値を指定します。
単位: 必ず指定します。表示させる年・月・日の種類を「""(コーテーション)」で囲んで指定します。
指定できる単位は以下の6種類です。 y: 指定した日付の年数を求めます。m: 指定した日付の月数を求めます。d: 指定した日付の日数を求めます。ym: 年を含まない日付の月数を求めます。yd: 年を含まない日付の日数を求めます。md: 年、月を含まない日付の日数を求めます。

【ワンポイント】 この関数はExcelの関数リストにはありませんので、直接セルに入力します。

ここではサンプルデータのシート「DATEDIF」の中で、年、月、日をそれぞれ求めます。

シート「DATEDIF」を選択します。

(1) 年数を求める

まず、セルA5の生年月日を基に、セルB5の基準日現在の年齢をセルC5に求めます。

【ワンポイント1】 数式や関数をセルに入力する場合、F2 キーを押して編集状態にしたほうが途中での確認や修正が容易になるため、より確実に入力を行うことができます。

【ワンポイント2】 関数を入力したら、まず「()」とカッコを両方とも入力しておきます。

【入力された数式】 =DATEDIF(A5,B5,"y")

(2) 月数を求める

次に、セルA9の入社年月日を基に、セルB9の基準日現在の月数をセルC9に求めます。

【ワンポイント1】 数式や関数をセルに入力する場合、F2 キーを押して編集状態にしたほうが途中での確認や修正が容易になるため、より確実に入力を行うことができます。

【ワンポイント2】 関数を入力したら、まず「()」とカッコを両方とも入力しておきます。

【入力された数式】 =DATEDIF(A9,B9,"m")

(3) 日数を求める

そして、セルA13の購入日を基に、セルB13の基準日現在の日数をセルC13に求めます。

【ワンポイント1】 数式や関数をセルに入力する場合、F2 キーを押して編集状態にしたほうが途中での確認や修正が容易になるため、より確実に入力を行うことができます。

【ワンポイント2】 関数を入力したら、まず「()」とカッコを両方とも入力しておきます。

【入力された数式】 =DATEDIF(A13,B13,"d")


指定した日付を和暦で表示するDATESTRING関数

DATESTRING関数は、シリアル値または日付を表す文字列を和暦の文字列に変換します。

【書式】 =DATESTRING(シリアル値、または、日付を表す文字列)

【説明】 シリアル値、または、日付を表す文字列: 必ず指定します。シリアル値、または、日付を表す文字列を指定します。日付を表す文字列の場合は、「""(コーテーション)」で囲んで指定します。

【ワンポイント】 この関数はExcelの関数リストにはありませんので、直接セルに入力します。

ここではサンプルデータのシート「DATESTRING」のセルB4に、セルA4の西暦の日付を和暦で表示します。

シート「DATESTRING」を選択します。

【ワンポイント1】 数式や関数をセルに入力する場合、F2 キーを押して編集状態にしたほうが途中での確認や修正が容易になるため、より確実に入力を行うことができます。

【ワンポイント2】 関数を入力したら、まず「()」とカッコを両方とも入力しておきます。

【入力された数式】 =DATESTRING(A4)


文字列形式の日付をシリアル値に変換するDATEVALUE関数

DATEVALUE関数は、日付を表す文字列をシリアル値に変換します。日付の形で入力された文字列を日付として表示させるのに有効です。

【書式】 =DATEVALUE(日付文字列)

【説明】 日付文字列: 必ず指定します。Excelが日付と認識できる文字列を指定します。

【ワンポイント】 この関数を挿入する前のセルの表示形式が「標準」であった場合、結果はシリアル値で表示されます。日付形式で表示させたい場合は、改めて表示形式を「日付」にします。

ここではサンプルデータのシート「DATEVALUE」のセルB4に、セルA4の値をシリアル値で表示します。

シート「DATEVALUE」を選択します。

【入力された数式】 =DATEVALUE(A4)


シリアル値に対応する日を求めるDAY関数

DAY関数は、シリアル値で表現された日付から日を返します。戻り値は、1~31までの整数です。

【書式】 =DAY(シリアル値)

【説明】 シリアル値: 必ず指定します。

ここではサンプルデータのシート「DAY」のセルB4に、セルA4のシリアル値に対応する日を表示します。

シート「DAY」を選択します。

【入力された数式】 =DAY(A4)


2つの日付間の日数を求めるDAYS関数

DAYS関数は、2つの日付間の日数を返します。

【書式】 =DAYS(終了日,開始日)

【説明】 終了日: 必ず指定します。開始日: 必ず指定します。開始日と終了日を指定し、その間の日数を求めます。

【ワンポイント】 日付の引数が両方とも数値の場合、終了日と開始日の間の日数を計算します。日付の引数のいずれかが文字列の場合は、その引数は DATEVALUE(日付文字列) として処理され、整数の日付が返されます。

ここではサンプルデータのシート「DAYS」のセルC4に、セルA4とB4の間の日数を表示します。

シート「DAYS」を選択します。

【入力された数式】 =DAYS(A4,B4)


指定した月だけ前/後の日付のシリアル値を求めるEDATE関数

EDATE関数は、開始日から起算して、指定された月数だけ前、または後の日付に対応するシリアル値を返します。例えば、手形の発行日から指定した月数だけ先の満期日を求めることができます。

【書式】 =EDATE(開始日,月)

【説明】 開始日: 必ず指定します。起算日を表す日付を指定します。
   月: 必ず指定します。開始日から起算した月数を指定します。正の数を指定すると開始日より後、負の数を指定すると開始日より前の指定となります。

【ワンポイント】 この関数を挿入する前のセルの表示形式が「標準」であった場合、結果はシリアル値で表示されます。日付形式で表示させたい場合は、改めて表示形式を「日付」にします。

ここではサンプルデータのシート「EDATE」のセルB4に、セルA4の手形発行日から4ヶ月後の満期日を表示します。

シート「EDATE」を選択します。

【入力された数式】 =EDATE(A4,4)


指定した月だけ前/後の月の最終シリアル値を求めるEOMONTH関数

EOMONTH関数は、開始日から起算して、指定された月数だけ前、または後の月の最終日に対応するシリアル値を返します。例えば、支払日が月末の場合、購入日から指定した月数だけ先の支払日を求めることができます。

【書式】 =EOMONTH(開始日,月)

【説明】 開始日: 必ず指定します。起算日を表す日付を指定します。
   月: 必ず指定します。開始日から起算した月数を指定します。正の数を指定すると開始日より後、負の数を指定すると開始日より前の指定となります。

【ワンポイント】 この関数を挿入する前のセルの表示形式が「標準」であった場合、結果はシリアル値で表示されます。日付形式で表示させたい場合は、改めて表示形式を「日付」にします。

ここではサンプルデータのシート「EOMONTH」のセルB4に、セルA4の購入日から2ヶ月後の月末の支払日を表示します。

シート「EOMONTH」を選択します。

【入力された数式】 =EOMONTH(A4,2)


時刻を0~23の整数で求めるHOUR関数

HOUR関数は、シリアル値から時刻を返します。戻り値は、0~23の整数です。

【書式】 =HOUR(シリアル値)

【説明】: シリアル値 必ず指定します。

ここではサンプルデータのシート「HOUR」のセルB4に、セルA4のシリアル値に対応する時刻を表示します。

シート「HOUR」を選択します。

【入力された数式】 =HOUR(A4)


指定された日付のその年におけるISO週番号を求めるISOWEEKNUM関数

ISOWEEKNUM関数は、指定された日付のその年におけるISO週番号を返します。

【書式】 =ISOWEEKNUM(日付)

【説明】 日付: 必ず指定します。日付とは、Excelで日付や時刻の計算に使用されるコードのことです。

ここではサンプルデータのシート「ISOWEEKNUM」のセルB4に、セルA4の日付のその年におけるISO週番号を表示します。

シート「ISOWEEKNUM」を選択します。

【入力された数式】 =ISOWEEKNUM(A4)


分を0~59の整数で求めるMINUTE関数

MINUTE関数は、シリアル値から分を返します。戻り値は、0~59の整数です。

【書式】 =MINUTE(シリアル値)

【説明】: シリアル値 必ず指定します。

ここではサンプルデータのシート「MINUTE」のセルB4に、セルA4のシリアル値に対応する分を表示します。

シート「MINUTE」を選択します。

【入力された数式】 =MINUTE(A4)


月を1~12の整数で求めるMONTH関数

MONTH関数は、シリアル値で表現された日付から月を返します。戻り値は、1~12までの整数です。

【書式】 =MONTH(シリアル値)

【説明】 シリアル値: 必ず指定します。

ここではサンプルデータのシート「MONTH」のセルB4に、セルA4のシリアル値に対応する月を表示します。

シート「MONTH」を選択します。

【入力された数式】 =MONTH(A4)


指定した期間のウイークデーの日数を求めるNETWORKDAYS関数

NETWORKDAYS関数は、開始日から終了日までの期間内のウイークデーの日数を返します。これに含まれるのは、土曜、日曜、および指定された祭日を除く日です。

例えば、勤務日数や営業日数を求める場合に便利です。

【書式】 =NETWORKDAYS(開始日,終了日,[祭日])

【説明】 開始日: 必ず指定します。起算日を表す日付を指定します。終了日: 必ず指定します。対象期間の最終日を表す日付を指定します。
   祭日: 省略可能です。国民の祝日やその他の休暇など、稼動日数から除外する日付を指定します。

ここではサンプルデータのシート「NETWORKDAYS」のセルD4に、セルA4の開始日からセルB4の終了日までで、セルC4からC7までの祭日等を除いたウイークデーの日数を表示します。

シート「NETWORKDAYS」を選択します。

【入力された数式】 =NETWORKDAYS(A4,B4,C4:C7)


現在の日付と時刻のシリアル値を求めるNOW関数

NOW関数は、現在の日付と時刻に対応するシリアル値を返します。例えば、現在の日付と時刻を表示したり、現在の日付と時刻により計算を行う場合に便利です。

【書式】 =NOW()

【説明】 NOW関数には引数はありません。

【ワンポイント】 この関数を挿入する前のセルの表示形式が「標準」であった場合、結果は日付および時刻の形式になります。シリアル値で表示させたい場合は、改めて表示形式を「標準」にします。

ここではサンプルデータのシート「NOW」のセルA4に、現在の日付と時刻のシリアル値を表示します。

シート「NOW」を選択します。

【入力された数式】 =NOW()


秒を0~59の整数で求めるSECOND関数

SECOND関数は、シリアル値から秒を返します。戻り値は、0~59の整数です。

【書式】 =SECOND(シリアル値)

【説明】: シリアル値 必ず指定します。

ここではサンプルデータのシート「SECOND」のセルB4に、セルA4のシリアル値に対応する秒を表示します。

シート「SECOND」を選択します。

【入力された数式】 =SECOND(A4)


指定した時刻の小数点以下のシリアル値を求めるTIME関数

TIME関数は、指定された時刻に対応するシリアル値を小数で返します。

【書式】 =TIME(時,分,秒)

【説明】 時: 必ず指定します。0~32767の範囲で指定できますが、23を超える値は24で除算した余りで計算されるので、0~23の間で指定するのが分かりやすいです。
   分: 必ず指定します。0~32767の範囲で指定できますが、59を超える値は、時・分に変換されるため、0~59の間で指定するのが分かりやすいです。
   秒: 必ず指定します。0~32767の範囲で指定できますが、59を超える値は、時・分・秒に変換されるため、0~59の間で指定するのが分かりやすいです。

【ワンポイント】 この関数を挿入する前のセルの表示形式が「標準」であった場合、結果は時刻形式になります。シリアル値で表示させたい場合は、改めて表示形式を「標準」にします。

ここではサンプルデータのシート「TIME」のセルB4に、セルA6からA8までの値をまとめてシリアル値で表示します。

シート「TIME」を選択します。

【入力された数式】 =TIME(A4,A5,A6)

【ワンポイント】 セルの表示形式が「ユーザー定義」でよい場合は、手順7.は不要です。


文字列形式の時刻を小数点以下のシリアル値に変換するTIMEVALUE関数

TIMEVALUE関数は、時刻を表す文字列をシリアル値(小数)に変換します。時刻の形で入力された文字列を時刻として表示させるのに有効です。

【書式】 =TIMEVALUE(時刻文字列)

【説明】 時刻文字列: 必ず指定します。Excelが時刻と認識できる文字列を指定します。時刻文字列に含まれる日付の情報は無視されます。

【ワンポイント】 この関数を挿入する前のセルの表示形式が「標準」であった場合、結果はシリアル値で表示されます。時刻形式で表示させたい場合は、改めて表示形式を「時刻」にします。

ここではサンプルデータのシート「TIMEVALUE」のセルB4に、セルA4の時刻文字列をシリアル値で表示します。

シート「TIMEVALUE」を選択します。

【入力された数式】 =TIMEVALUE(A4)


現在の日付のシリアル値を求めるTODAY関数

TODAY関数は、現在の日付に対応するシリアル値を返します。

【書式】 =TODAY()

【説明】 TODAY関数には引数はありません。

【ワンポイント】 この関数を挿入する前のセルの表示形式が「標準」であった場合、結果は日付形式になります。シリアル値で表示させたい場合は、改めて表示形式を「標準」にします。

ここではサンプルデータのシート「TODAY」のセルA4に、現在の日付のシリアル値を表示します。

シート「TODAY」を選択します。

【入力された数式】 =TODAY()


日付に対応する曜日を0~7で求めるWEEKDAY関数

WEEKDAY関数は、日付を表すシリアル値から、その日付に対応する曜日を整数で返します。既定では、戻り値は1(日曜)~7(土曜)までの範囲の整数です。

【書式】 =WEEKDAY(シリアル値,[種類])

【説明】 シリアル値: 必ず指定します。
   種類: 省略可能です。戻り値の種類を数値で指定します。

ここではサンプルデータのシート「WEEKDAY」のセルB4に、セルA4のシリアル値に対応する曜日を整数で表示します。「種類」は指定せず既定で表示します。

シート「WEEKDAY」を選択します。

【入力された数式】 =WEEKDAY(A4)

【ワンポイント】 「種類」を指定した場合の戻り値は以下の通りです。

種類戻り値
1 または省略1(日曜)~ 7(土曜)
21(月曜)~7(日曜)
30(月曜)~6(日曜)
111(月曜)~7(日曜)
121(火曜)~7(月曜)
131(水曜)~7(火曜)
141(木曜)~7(水曜)
151(金曜)~7(木曜)
161(土曜)~7(金曜)
171(日曜)~7(土曜)

日付がその年の何週めかを求めるWEEKNUM関数

WEEKNUM関数は、特定の日付がその年の第何週目に当たるかを返します。

【書式】 =WEEKNUM(シリアル値,[週の基準])

【説明】 シリアル値: 必ず指定します。対象となる日付を指定します。
   週の基準: 省略可能です。週の始まりを何曜日にするかを数値で指定します。既定値は「1」です。

(注) WEEKNUM関数で使用される週の基準のシステムには以下の2つがあります。

ここではサンプルデータのシート「WEEKNUM」のセルB4に、セルA4の日付がその年の第何週にあたるかを表示します。「週の基準」は指定せず既定で表示します。

シート「WEEKNUM」を選択します。

【入力された数式】 =WEEKNUM(A4)

【ワンポイント】 「週の基準」を指定した場合の戻り値は以下の通りです。

週の基準週の始まりシステム
1 または省略日曜日1
2月曜日1
11月曜日1
12火曜日1
13水曜日1
14木曜日1
15金曜日1
16土曜日1
17日曜日1
21月曜日2

指定した期間の日数を求めるWORKDAY関数

WORKDAY関数は、開始日から起算して、指定された稼動日数だけ前または後の日付のシリアル値を返します。

稼働日とは、土曜、日曜、および指定された祭日を除く日です。
例えば、指定された営業日の日数により納品日などを求めるのに便利です。

【書式】 =WORKDAY(開始日,日数,[祭日])

【説明】 開始日: 必ず指定します。起算日を表す日付を指定します。
   日数: 必ず指定します。開始日から起算して、土曜日、日曜日、および祭日を除く
稼働日、つまりウイークデーの日数を指定します。「日数」に正の数を指定すると、起算日より後の日付となり、負の数を指定すると、起算日より前の日付となります。
   祭日: 省略可能です。国民の祝日やその他の休暇など、稼動日数から除外する日付を指定します。

ここではサンプルデータのシート「WORKDAY」のセルD4に、セルA4の開始日からセルB4のウイークデーの日数分後で、セルC4からC5までの祭日等を除いた日付を表示します。

シート「WORKDAY」を選択します。

(注) この場合、セルC4からC7の祭日等も稼働日数から除外されます。

【入力された数式】 =WORKDAY(A4,B4,C4:C7)


年を1900~9999の整数で求めるYEAR関数

YEAR関数は、シリアル値で表現された日付から年を返します。戻り値は、1900~9999の範囲の整数です。

【書式】 =YEAR(シリアル値)

【説明】 シリアル値: 必ず指定します。

ここではサンプルデータのシート「YEAR」のセルB4に、セルA4のシリアル値に対応する年を表示します。

シート「YEAR」を選択します。

【入力された数式】 =YEAR(A4)


指定した期間の日数を年を単位とした数値で求めるYEARFRAC関数

YEARFRAC関数は、開始日と終了日の間の期間が、1年間に占める割合を返します。
例えば、年間の利率を基に、ある期間内の利率計算を行う場合などに便利です。

【書式】 =YEARFRAC(開始日,終了日,[基準])

【説明】 開始日: 必ず指定します。起算日を表す日付を指定します。終了日: 必ず指定します。対象期間の最終日を表す日付を指定します。
   基準: 省略可能です。計算に使用する基準日数を示す数値を指定します。

ここではサンプルデータのシート「YEARFRAC」のセルC4に、セルA4の開始日からセルB4の終了日までの期間が1年に占める割合を表示します。

シート「YEARFRAC」を選択します。

【入力された数式】 =YEARFRAC(A4,B4)

【ワンポイント】 「基準」を指定した場合の戻り値は以下の通りです。

基準基準日数(月/年)
0 または省略30日/360日(NASD方式)
1実際の日数/実際の日数
2実際の日数/360日
3実際の日数/365日
430日/360日(ヨーロッパ方式)

操作の結果はサンプルデータdatetime-function_kk.xlsx「日付/時刻関数(結果).xlsx」をご覧ください。