日付/時刻関数

CS資格・Excelの実務に一部必須
全部は覚えなくて良い

練習ファイルのダウンロード

解説

日付や時間に関するデータ処理を行う関数です。

重要
Windows系のPCでは暦や時刻は1900年1月1日を1として、1日につき1づつ増える数値として扱います。
この数値のことを「日付シリアル値」と言います。
時刻は小数点以下の数値で表され、昼の12時が0.5になります。負の数値はエラーになります。

時刻の簡単な計算法

1日が1ですから

1時間は 1/24
1分は  1/24/60
1秒は  1/24/60/60

5分なら
  5*1/24/60

3時間52分16秒なら
  3*1/24+52*1/24/60+16*1/24/60/60

と書けば考え易いと思います。

一覧表(赤文字は特に重要)

バージョンによっては使えないものもあります。

関数名 解説
日時 TODAY 現在の日付値を求めます。
NOW 現在の日付と時刻を求めます。
TIME 指定した時刻を求めます。
DATE 指定された日付を求めます。
変換 DATEVALUE 日付を表す文字列をシリアル値に変換します。
TIMEVALUE 時刻を表す文字列をシリアル値に変換します。
抽出 YEAR シリアル値から年の数値を抽出します。
MONTH シリアル値から月の数値を抽出します。
WEEKDAY シリアル値から曜日の数値を抽出します。
DAY シリアル値から日付の数値を抽出します。
HOUR シリアル値から時刻の数値を抽出します。
MINUTE シリアル値から時刻の分の数値を抽出します。
SECOND シリアル値から時刻の秒の数値を抽出します。
計算 WEEKNUM 指定した日付がその年の何週目に当たるかを示す値に変換します。
EDATE 開始日から起算し、指定した月数だけ前または後の日付を求めます。
EOMONTH 開始日から起算し、指定した月数だけ前または後の月の最終日を求めます。
DAYS360 1年を 360日(30日×12ヶ月) として、支払計算などに使用する日数を求めます。
NETWORKDAYS 開始日と終了日を指定して、その期間内の稼動日の日数を求めます。
WORKDAY 開始日から起算して、指定した稼動日数だけ前または後の日付に対応するシリアル値を求めます。
YEARFRAC 開始日と終了日を指定して、その間の期間が 1 年間に対して占める割合を求めます。

特殊な日付関数

DATEDIF 書式 DATEDIF(開始日,終了日,単位)
第3引数で指定した単位で、開始日から終了日までの期間を求めます。
単位は「"」で囲んだ文字列、日付は「"2001/1/1"」のように日付データ形式を「"」で囲んだ文字列かセル参照です。
この関数はLOTUS1-2-3との互換性を保つためだけに存在しており、ヘルプにすら記載されていません。
うるう年2月29日は一応計算されますが、2月29日を挟んで翌年の3月1日を終了日に指定した場合のように直接関係する場合は誤差が発生する場合も有ります。

単位

Y 年数
M 月数
D 日数(普通に引き算した方が良い)
MD 月数未満の日数、「年月日」の日の部分
YM 年数未満の月数、「年月日」の月の部分
YD 年数未満の日数、「1年と160日」なら160

DATEDIF("2001/1/1","2010/4/1","YD")
DATEDIF(D55,D56,"YM")
セル参照の場合、参照セルのデータは日付シリアル値



文字列処理関数←前HOME次→論理関数