Excel の日付関数
1. 日付関数
DATE 関数は、入力した日、月、年に基づいて有効な日付を返します。簡単に言えば、すべての日付コンポーネントを指定する必要があり、そこから日付が作成されます。
構文
DATE(年、月、日)
引数
- year:年として使用する数値。
- month:月として使用する数値。
- day:日として使用する数値。
例
以下の例では、セル参照を使用して年、月、日を指定して日付を作成しています。
以下の例に示すように、関数に引数を直接挿入して日付を作成することもできます。
以下の例では、さまざまなタイプの引数を使用して、関数によって返される結果を確認しています。
2. DATEVALUE関数
DATEVALUE 関数は、テキスト (日付を表す) を実際の日付に変換した後に日付を返します。簡単に言えば、日付をテキストとしてフォーマットされた実際の日付に変換します。
構文
VALUEDDATE(テキストの日付)
引数
- date_text:テキストとして保存されている日付。このテキストを実際の日付に変換します。
例
以下の例では、二重引用符を使用して日付を関数に直接挿入しました。これらの引用符の追加をスキップすると、#NAME? が返されます。結果のエラー。
以下の例では、左側の日付はすべてテキスト形式です。
- 有効な日付に変換した単純なテキストの日付。
- 3 つの要素 (年、月、日) をすべて数値で表した日付。
- テキストの日付に年が含まれていない場合は、現在の年が年として使用されます。
- また、月名がアルファベットであり、年が指定されていない場合は、現在の年が年として扱われます。
- テキストの日付に日が含まれていない場合は、日番号として 1 が使用されます。
3.DAY機能
DAY 関数は、有効な日付から始まる日数を返します。ご存知のとおり、Excel では日付は日、月、年の組み合わせであり、DAY 関数は日付から日を取得し、残りの部分は無視します。
構文
日(シリアル番号)
引数
- serial_number:今日の番号を抽出する日付の有効なシリアル番号。
例
以下の例では、DAY を使用して単純に日付から日を取得しています。
また、以下の例では、DAY と TODAY を使用して、現在の日付を返す動的な数式を作成しています。この数式は、ワークシートを開くたび、またはワークシートを再計算するたびに更新されます。
5.DAYS機能
DAYS 関数は、2 つの日付の差を返します。開始日と終了日を受け取り、それらの差を日数で返します。この関数は Excel 2013 で導入されたため、以前のバージョンでは使用できません。
構文
DAYS(終了日,開始日)
引数
- start_date:これは、日数の計算を開始する有効な日付です。
- end_date:これは、日数の計算を終了する有効な日付です。
例
以下の例では、セル A1 を開始日、B1 を終了日として参照しており、結果には 9 日が含まれています。
注:減算演算子を使用して 2 つの日付の差を取得することもできます。
以下の例では、2 つの日付を関数に直接挿入して、それらの差を取得しています。
6.EDATE関数
EDATE 関数は、指定された月数を加算した後の日付を返します。簡単に言うと、日付から月を加算 (正の数で) または減算 (負の数で) できます。
構文
EDATE(開始日,月)
引数
- start_date:計算を開始する日付。
- months:将来または過去の日付を計算する月数。
例
ここでは、さまざまな引数の型で EDATE を使用しました。
- 最初の例では、複数の月として 5 を使用し、2016 年 1 月 1 日にちょうど 5 ヶ月を追加し、2016 年 6 月 1 日を返しました。
- 2 番目の例では、-1 か月を使用した結果、2016 年 12 月 31 日となり、2016 年 1 月 31 日からちょうど 1 か月遅れの日付になります。
- 3 番目の例では、日付を関数に直接挿入しました。
7.EOMONTH関数
EOMONTH 関数は、将来または過去の月数である月の終了日を返します。将来の日付には正の数値を使用し、過去の月の日付には負の数値を使用できます。
構文
EOMONTH(開始日, 月)
引数
- start_date:計算を開始する有効な日付。
- months:開始日の前後で計算する月数。
例
以下の例では、さまざまな引数の型で EOMONTH を使用しました。
- 開始日として 2016 年 1 月 1 日を記載し、将来の日付を取得するには 5 か月かかります。 6 月は 1 月のちょうど 5 か月後であるため、結果では 2016 年 6 月 30 日に戻りました。
- すでに述べたように、EOMMONTH は 1 か月の合計日数を推定するのに十分な機能を備えています。
- 負の数値を指定すると、指定した月数前の過去の日付が返されます。
- 4 番目の例では、テキスト形式の日付を使用しましたが、エラーはスローされずに日付が返されました。
8.MONTH関数
MONTH 関数は、有効な日付から月番号 (0 ~ 12 の範囲) を返します。ご存知のとおり、Excel では日付は日、月、年の組み合わせであり、MONTH は日付から月を取得し、残りの部分は無視されます。
構文
MONTH(シリアル番号)
引数
- serial_number:月番号を取得する有効な日付。
例
以下の例では、MONTH を 3 つの異なる方法で使用しています。
- 最初の例では、単純に日付を使用し、結果として MAY の月番号である 5 を返しました。
- SECOND の例では、関数内で直接日付を指定しました。
- THIRD の例では、TODAY 関数を使用して現在の日付を取得し、MONTH は月番号を返しました。
9. 勤務日機能
NETWORKDAYS 関数は、開始日と終了日の間の日数を返します。簡単に言うと、NETWORKDAYS を使用すると、土日と祝日 (指定した休日) を除いた 2 つの日付の差を計算できます。
構文
営業日 (開始日、終了日、祝日)
引数
- start_date : 計算を開始する有効な日付。
- end_date : 営業日を計算する有効な日付。
- [holiday] : 開始日と終了日の間の休日を表す有効な日付。セル、セル範囲、または日付を含む配列を参照できます。
例
以下の例では、開始日として 2015 年 1 月 10 日、終了日として 2015 年 2 月 20 日を指定しています。
この 2 つの日付の間には、週末の 11 日を含めて 41 日間あります。この 11 日を差し引くと、30 営業日になります。
同じ開始日と終了日を持つ以下の例では、休日を指定し、週末の 11 日と休日 1 日を差し引いた後、29 営業日が返されました。
開始日と終了日は同じにして、休暇の 3 セル範囲を使用して計算から差し引いたところ、前述の週末 11 日と休日 3 日を差し引くと、27 営業日が返されました。
10.COUNT.WORKINGDAYS.INTL関数
NETWORKDAYS.INTL この関数は、開始日と終了日の間の日数を返します。 NETWORKDAYS とは異なり、NETWORKDAYS.INTL では計算から除外する日を指定できます。
構文
NETWORKDAYS.INTL(開始日、終了日、週末、休日)
引数
- start_date:計算を開始する有効な日付。
- end_date:営業日を計算する有効な日付。
- [週末]:数値は、計算から週末を除外することを表します。
- [休日]:計算から除外する休日を表す日付のリスト。
例
以下の例では、開始日として 2015 年 1 月 1 日を、終了日として 2015 年 1 月 20 日を使用しています。そして、日曜日から土曜日までを週末とする 1 を指定しました。この関数は、週末の 6 日を除いた 14 日後に戻りました。
以下では同じ日付を使用しています。また、週末には 11 を使用しました。これは、日曜日のみを週末として考慮することを意味します。これに伴い、2015年1月10日も祝日とさせていただきました。
2 つの日付の間に 3 回の日曜日と祝日があります。これらすべての日を除外した後、関数は結果として 16 日を返しました。以下の例では、範囲を使用して休日を指定しています。休日に複数の日付がある場合は、範囲全体を参照できます。
ヒント:休日のダイナミック レンジを作成したい場合は、テーブルを使用してこれを行うことができます。就業日または週末としてカウントするカスタムの日を選択する場合は、週末の引数で以下の形式を使用できます。
ここで、0 は稼働日を表し、1 は非稼働日を表します。そして、7 つの数字は 7 つの曜日を表します。
11. 今日の特集
TODAY 関数は、システムの日付と時刻に従って現在の日付と時刻を返します。 NOW 関数によって返される日付と時刻は、ワークシート内の何かを更新するたびに継続的に更新されます。
構文
今日()
引数
- TODAY 関数には引数はありません。セルに値を入力して Enter キーを押すだけです。ただし、TODAY はスプレッドシートの計算を更新するたびに値が更新される揮発性関数であるため注意してください。
例
以下の例では、TODAY を他の関数とともに使用して、現在の月番号、現在の年、および現在の日付を取得しています。
12.WEEKDAY関数
WEEKDAY 関数は、日付からその週の曜日番号 (0 から 7 の範囲) を返します。簡単に言えば、WEEKDAY 関数は日付を受け取り、その日付の日数を返します。
構文
曜日 (シリアル番号、[戻り値の種類])
引数
- serial_number : 週番号を取得する有効な日付。
- [return_type] : 週を開始する曜日を表す数値。
例
以下の例では、WEEKDAY と TODAY を使用して動的な平日を取得しています。現在の日付が変わるたびに曜日が表示されます。ダッシュボードでこのメソッドを使用すると、曜日が変わったときに変更する特定の値をトリガーできます。
以下の例では、WEEKDAY と IF を使用して、最初に日付の曜日をチェックし、WEEKDAY によって返された値に基づいて「平日」または「週末」を返す数式を作成しました。
13. WEEK NUM関数
WEEKNUM 関数は、日付の週番号を返します。簡単に言うと、WEEKNUM は、指定した日付の週番号を 1 ~ 54 の範囲で返します。
構文
WEEKNUM(シリアル番号,戻り値の種類)
引数
- serial_number:週番号を取得する日付。
- [return_type]:年の最初の週の開始日を指定する数値。週の開始日を指定するシステムは 2 つあります。
例
以下の例では、TODAY と WEEKNUM を使用して、現在の日付の週番号を取得しています。日付が変わるたびに週番号が自動的に更新されます。
以下の例では、意味のある結果を得るために、テキスト「Week-」と週番号を追加しました。
14. YEAR関数
YEAR 関数は、有効な日付から年番号を返します。ご存知のとおり、Excel では日付は日、月、年の組み合わせであり、YEAR 関数は日付から年を取得し、残りの部分は無視されます。
構文
年(日付)
引数
- date:年を取得する日付。
例
以下の例では、year 関数を使用して日付から年番号を取得しています。この関数は、データに日付が含まれており、年番号のみが必要な場合に使用できます。
以下の例では、today 関数を使用して現在の日付から年番号を取得しています。スプレッドシートを再計算するたびに、年が常に更新されます。