数式と関数

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

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

注: 最新のヘルプ コンテンツをできるだけ早く、お客様がお使いの言語で提供したいと考えております。 このページは、自動翻訳によって翻訳されているため、文章校正のエラーや不正確な情報が含まれている可能性があります。 私たちの目的は、このコンテンツがお客様の役に立つようにすることです。 お客様にとって役立つ情報であったかどうかを、このページの下部でお知らせください。 簡単に参照できるように、こちらに英語の記事があります。

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

警告: 開始日終了日よりも大きい場合、結果は #NUM! になります。

日付の間の日数

=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

残り日数を確認する必要があります。 これを行うには、上記のように、別の種類の数式を作成します。 この数式は、セル E17 の元の終了日から、終了月 (5/1/2016) の最初の日を減算します (5/6/2016)。 この方法を次に示します。最初に date 関数は date (5/1/2016) を作成します。 これは、セル E17 の年とセル E17 の月を使って作成します。 次に、 1月の最初の曜日を表します。 DATE 関数の結果は5/1/2016 です。 次に、セル E17 の元の終了日から5/6/2016 を減算します。 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) のようになります。

ヒント: または、数式内に各休日を入力することができます。 たとえば、2016 年 1 月 1 日と 2 日が休日の場合、=NETWORKDAYS.INTL(D53,E53,1,{"1/1/2016","1/2/2016"}) のように入力します。 Excel 2007 では次のようになります。 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。国際電話ネットワーク日数
その他の日付と時刻の関数
による2つの時刻の差を計算する

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

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

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

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

×