2 つの日付間の差分を計算する

2 つの日付間の差分を計算する

2 つの日付の間の日数を計算したい場合は、DATEDIF 関数を使います。まず、開始日と終了日を別のセルに入力します。そして、次のような数式を入力します。

日付の間の日数

=DATEDIF(D9,E9,"d") と 856 の結果

この例では、セル D9 が開始日でセル E9 が終了日です。数式は F9 です。"d" は、2 つの日付の間の日数を返します。

日付の間の週数

=(DATEDIF(D13,E13,"d")/7) と結果:122.29

この例では、セル D13 が開始日でセル E13 が終了日です。"d" は日数を返します。ただし、最後に /7 があることにご注意ください。1 週間は 7 日なので日数を 7 で割ります。この結果を数値として書式設定する必要もあることにご注意ください。Ctrl + 1 キーを押します。[数値]、[小数点以下の桁数] の順にクリックし、"2" を指定します。

日付の間の月数

=DATEDIF(D5,E5,"m") と結果:28

この例では、セル D5 が開始日でセル E5 が終了日です。数式で、"m" は 2 つの日付の間の完全な月数を返します。

日付の間の年数

=DATEDIF(D2,E2,"y") と結果:2

この例では、セル D2 が開始日でセル E2 が終了日です。"y" は、2 つの日付の間の完全な年数を返します。

累計の年数、月数、日数で年齢を計算する

年齢またはサービス期間を計算することもできます。たとえば、"2 年、4 か月、5 日" のような結果が得られます。

1.DATEDIF を使用して合計年数を取得します。

=DATEDIF(D17,E17,"y") と結果:2

この例では、セル D17 が開始日でセル E17 が終了日です。この数式で、"y" は 2 つの日付の間の完全な年数を返します。

2.再び DATEDIF を使用し "ym" を指定して月数を取得します。

=DATEDIF(D17,E17,"ym") と結果:4

別のセルで、DATEDIF の数式と "ym" パラメーターを使用します。"Ym" は、最後の丸 1 年から後の残りの月数を返します。

3.異なる数式を使用して日数を検索します。

=DATEDIF(D17,E17,"md") と結果:5

ここでは残りの日数を検索する必要があります。上のような異なる種類の数式を入力して行います。この数式では、最終月の第 1 日目 (2016 年 5 月 1 日) からセル E17 にある元の終了日 (2016 年 5 月 6 日) を減算しています。その仕組みは次のとおりです。まず、DATE 関数が 2016 年 5 月 1 日の日付を作成します。これは、セル E17 の年とセル E17 の月を使用して作成されています。1 は、その月の第 1 日目を示します。DATE 関数の結果は 2016 年 5 月 1 日です。その値をセル E17 にある元の最終日 2016 年 5 月 6 日から減算します。5/6/2016 マイナス 5/1/2016 で、5 日です。

注: DATEDIF "md" 引数を使用した計算は誤った結果が生じる可能性があるため、お勧めしません。

4.省略可能:3 つの数式を 1 つに結合します。

=DATEDIF(D17,E17,"y")&" 年数、"&DATEDIF(D17,E17,"ym")&" 月数、"&DATEDIF(D17,E17,"md")&" 日数" と結果:2 年、4 か月、5 日

この例のように、3 つの計算すべてを 1 つのセルに収めることができます。アンパサンド、引用符、およびテキストを使用します。入力する数式は長くなりますが、少なくともすべてを 1 つにまとめることはできます。ヒント:数式に改行を挿入するには、Alt + Enter キーを押します。このようにすると、数式が読みやすくなります。また、数式全体が見えない場合は、Ctrl + Shift + U キーを押します。

サンプルをダウンロードする

この記事のすべての例が含まれるサンプルのブックをダウンロードできます。この例を使用することも、独自の数式を作成することもできます。

日付計算のサンプルをダウンロードする

日付と時刻に関するその他の計算

上で説明したように、DATEDIF 関数は開始日と終了日の間の差異を計算します。ただし、特定の日付を入力する代わりに、TODAY() 関数を数式の中で使用することもできます。TODAY() 関数を使用すると、Excel は日付としてそのコンピューターの現在の日付を使用します。この値は別の日にファイルを開くと変化することに留意してください。

=DATEDIF(TODAY(),D28,"y") と結果:984

この例の画像は 2016 年 10 月 6 日のものであることにご注意ください。

2 つの日付の間の稼働日数を計算するときは、NETWORKDAYS.INTL 関数を使用します。週末と休日を除外することもできます。

始める前に:休日を除外するかどうかを決定します。除外する場合は、シートの別の領域に休日のリストを入力します。各休日を個別のセルに入力します。その後、それらのセルを選択し、[数式] の [名前の定義] を選択します。セル範囲に "MyHolidays" という名前を付けて、[OK] をクリックします。そして、次の手順を使用して数式を作成します。

1.開始日と終了日を入力します。

セル D53 の開始日付は 1/1/2016、セル E53 の終了日付は 12/31/2016

この例では、セル D53 が開始日でセル E53 が終了日です。

2.別のセルに、次のような数式を入力します。

=NETWORKDAYS.INTL(D53,E53,1) と結果:261

上の例のような数式を入力します。数式の 1 は土曜日と日曜日を週末として設定し、それらを合計から除外します。

注:Excel 2007 には NETWORKDAYS.INTL 関数はありません。ただし、NETWORKDAYS があります。Excel 2007 では、上の式は =NETWORKDAYS(D53,E53) のようになります。NETWORKDAYS は週末が土曜日と日曜日であるものと想定するので、1 を指定しません。

3.必要に応じて、1 を変更します。

Intellisense リストの表示 2 - 日曜日、月曜日; 3 - 月曜日、火曜日、など

土曜日と日曜日が週末でない場合は、1 を IntelliSense の一覧の別の値に変更します。たとえば、2 は日曜日と月曜日を週末に設定します。

Excel 2007 を使用している場合は、この手順を省略します。Excel 2007 の NETWORKDAYS 関数は、常に土曜日と日曜日を週末と想定します。

4.休日の範囲の名前を入力します。

=NETWORKDAYS.INTL(D53,E53,1,MyHolidays) と結果:252

上の「始める前に」セクションで休日範囲名を作成した場合は、次のように最後に入力します。休日がない場合は、コンマと MyHolidays を削除できます。Excel 2007 を使用している場合は、上の例の代わりに =NETWORKDAYS(D53,E53,MyHolidays) のようになります。

ヒント:休日範囲名を参照しない場合は、D35:E:39 のようにして範囲を指定できます。または、数式内に各休日を入力することができます。たとえば、2016 年 1 月 1 日と 2 日が休日の場合、=NETWORKDAYS.INTL(D53,E53,1,{"1/1/2016","1/2/2016"}) のように入力します。Excel 2007 では次のようになります。=NETWORKDAYS(D53,E53,{"1/1/2016","1/2/2016"})

ある時刻から別の時刻を引くことにより、経過時間を計算できます。まず、開始時刻と終了時刻を別のセルに入力します。時と分を含む完全な時刻を入力し、AM または PM の前にはスペースを入れます。次のようにします。

1. 開始時刻と終了時刻を入力します。

開始日付/時刻 7:15 AM、終了日付/時刻 4:30 PM

この例では、セル D80 が開始時刻でセル E80 が終了時刻です。時と分を入力し、AM または PM の前にはスペースを挿入します。

2.h:mm AM/PM の書式にします。

[セルの書式設定] ダイアログ ボックス、ユーザー設定のコマンド、h:mm AM/PM 型

両方の時刻を選択し、Ctrl + 1 キー (Mac では MAC のコマンド ボタン アイコンの画像 + 1 キー) を押します。まだ設定していない場合は、[ユーザー定義] の [h:mm AM/PM] を選択します。

3.2 つの時刻を減算します。

=E80-D80 と結果:9:15 AM

別のセルで、終了時刻のセルから開始時刻のセルを減算します。

4.h:mm の書式に設定します。

[セルの書式設定] ダイアログ、ユーザー設定のコマンド、h:mm 型

Ctrl + 1 キー (Mac での MAC のコマンド ボタン アイコンの画像 + 1 キー) を押します。[ユーザー定義] の [h:mm] を選択し、結果から AM と PM を除外します。

2 つの日時の間の時間は、一方から他方を引くだけで簡単に計算できます。ただし、Excel が目的の結果を返すように各セルに書式を適用する必要があります。

1.2 つの完全な日時を入力します。

開始日付 1/1/16 1:00 PM; 終了日付 1/2/16 2:00 PM

1 つのセルには、完全な開始日時を入力します。もう 1 つのセルには、完全な終了日時を入力します。各セルに月、日、年、時、分を入力し、AM または PM の前にはスペースを挿入します。

2.3/14/12 1:30 PM の書式に設定します。

[セルの書式設定] ダイアログ、Date コマンド、3/14/12 1:30 PM 型

両方のセルを選択し、Ctrl + 1 キー (Mac では MAC のコマンド ボタン アイコンの画像 + 1 キー) を押します。次に、[日付] の [3/14/12 1:30 PM] を選択します。これは設定した日付ではなく、書式の表示を示す単なるサンプルです。Excel 2016 より前のバージョンでは、3/14/01 1:30 PM のような異なる日時サンプルが表示される場合があることにご注意ください。

3.2 つの日時を減算します。

=E84-D84 と 1.041666667 の結果

別のセルで、終了日時から開始日時を減算します。結果は小数点以下を含む数値になる可能性があります。次の手順でそれを修正します。

4.[h]:mm の書式を設定します。

[セルの書式設定] ダイアログ、ユーザー設定のコマンド、[h]:mm 型

Ctrl + 1 キー (Mac での MAC のコマンド ボタン アイコンの画像 + 1 キー) を押します。[ユーザー定義] を選択します。[種類] ボックスに「[h]:mm」と入力します。

関連項目

DATEDIF 関数

NETWORKDAYS.INTL 関数

NETWORKDAYS

日付と時刻の関数 (リファレンス)

2 つの時刻間の差分を計算する

スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×