Excel 2010 日付/時刻関数

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

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

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

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

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

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

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

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


「シリアル値」について

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

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

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

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

例えば、正午は「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」を選択します。

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


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

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

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

【説明】 開始日: 必ず指定します。日付を表す文字列またはシリアル値を指定します。終了日: 必ず指定します。日付を表す文字列またはシリアル値を指定します。

単位: 必ず指定します。表示させる年・月・日の種類を「""(コーテーション)」で囲んで指定します。

指定できる単位は以下の6種類です。 y: 指定した日付の年数を求めます。m: 指定した日付の月数を求めます。d: 指定した日付の日数を求めます。ym: 年を含まない日付の月数を求めます。yd: 年を含まない日付の日数を求めます。md: 年、月を含まない日付の日数を求めます。

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

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

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

(1) 年数を求める

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

(2) 月数を求める

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

(3) 日数を求める

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


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

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

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

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

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

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

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


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

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

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

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

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

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

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


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

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

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

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

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

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


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

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

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

【説明】 開始日: 必ず指定します。起算日を表す日付を指定します。

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

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

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

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


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

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

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

【説明】 開始日: 必ず指定します。起算日を表す日付を指定します。

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

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

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

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


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

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

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

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

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

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


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

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

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

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

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

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


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

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

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

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

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

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


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

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

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

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

【説明】 開始日: 必ず指定します。起算日を表す日付を指定します。終了日: 必ず指定します。対象期間の最終日を表す日付を指定します。

祭日: 省略可能です。国民の祝日やその他の休暇など、稼動日数から除外する日付を指定します。

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

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


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

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

【書式】 =NOW()

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

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

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

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


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

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

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

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

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

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


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

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

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

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

分: 必ず指定します。0〜32767の範囲で指定できますが、59を超える値は、時・分に変換されるため、0〜59の間で指定するのが分かりやすいです。

秒: 必ず指定します。0〜32767の範囲で指定できますが、59を超える値は、時・分・秒に変換されるため、0〜59の間で指定するのが分かりやすいです。

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

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

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


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

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

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

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

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

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

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


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

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

【書式】 =TODAY()

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

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

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

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


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

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

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

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

種類: 省略可能です。戻り値の種類を数値で指定します。

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

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