Excelで2つの日付間の日数を計算するのは簡単そうに見えますが、ちょっとした癖でつまずくことがあります。特に、締め切りを管理したり、イベントを計画したり、次の旅行まであと何日かを計算したりするときには、このテクニックを知っておくと非常に便利です。ここでの目標は、手間をかけずに、日付間の正確な日数を示すきれいな数値を取得することです。それでは、Excelがうまく動かなかったり、日付の形式がおかしかったりしても、実際に役立つ具体的な方法とヒントをいくつか見ていきましょう。
Excelで2つの日付間の日数を計算する方法 – 実用的な方法
方法1: DATEDIF関数を使用する
これは少し目立たない方法ですが、とても便利です。日付がテキストではなく日付として認識されていれば、=DATEDIF(StartDate, EndDate, "d")
セルに入力するだけで、その間の日数を正確に計算できます。日付の書式設定が正しいか確認することをお勧めします。正しくないと、Excelはエラーを表示してしまいます。設定によっては、この関数が最初はおかしな動作をすることがあり、すぐに正しい値が得られないこともありますが、通常は再起動するか、書式設定を切り替えると解決します。この方法は、2つの日付の間の日数を素早く正確に知りたい場合に便利です。
結果は日数を表す数値になるはずです。もし間違った数値や#VALUEエラーが表示される場合は、日付セルを確認してください。日付が文字列として保存されている可能性があります。修正するには、セルを右クリックし、「セルの書式設定」を選択して、ロケールに応じてMM/DD/YYYYやDD/MM/YYYYなどの日付形式を選択してください。
方法2: 日付を直接減算する
これはとてもシンプルに聞こえますが、ちょっとした確認によく使われる方法です。両方のセルが日付として正しくフォーマットされている場合は、片方のセルからもう片方のセルを引くだけです=EndDate - StartDate
。A1セルとB1セルが両方とも日付の場合、C1セルの式は になります=B1 - A1
。ここで重要なのは、これらのセルが数値または日付としてフォーマットされていることです。そうでないと、おかしな数値やエラーが表示されます。
なぜこれが役立つのでしょうか?Excelは日付をシリアル値(1900年1月1日からの日数)として保存するため、減算するとその間の日数が得られます。簡単ですが、日付の順序が正しくない場合は負の数になるので注意してください。ABS()
特に日付が入れ替わる可能性がある場合は、常に正の数になるように で囲むと良いでしょう。
方法3: 終了日を含む日数を数える
これはよくあるケースです。開始日と終了日の両方をカウントに含めたい場合です。Excelの減算では最終日が自動的にカウントされないため、数式に1を加算するだけです。=EndDate - StartDate + 1
こうすることで、例えば1月1日から1月3日までを数える場合、2日ではなく3日になります。プロジェクトのタイムラインや予約システムなどで役立ちます。
なぜそれが機能するのかはよく分かりませんが、とにかく機能するのです。もちろん、Excel では必要以上に複雑にする必要があるからです。
方法4: 営業日にNETWORKDAYS関数を使用する
週末ではなく平日のみが必要な場合は、NETWORKDAYSツールが最適です。例:=NETWORKDAYS(StartDate, EndDate)
。週末を除外し、日付を範囲で指定すれば、カスタムの祝日も除外できます。平日のみを計画する場合は便利ですが、暦日のみが必要な場合は、前述の方法を使用してください。
物事がうまくいかないときに役立つヒント
- 日付の形式をもう一度確認してください。Excelでは、特にインポートまたはコピーした日付をテキストとして認識することがあります。必要に応じて、 「データ」>「テキストを区切り」を使用して、テキストを適切な日付に変換してください。
- #NUM! エラーが発生した場合、開始日が終了日よりも後になっている可能性があります。開始日と終了日を入れ替えるか、 で処理してください
ABS()
。 - 一部の設定では、
=DATEDIF
日付が日付として認識されない場合、関数が動作しません。フォーマットを変更するか、日付を手動で再入力してください。 - 年と月については、3番目の引数を から
"d"
または"m"
に変更するだけです"y"
。論理は同じですが、単位が異なります。 - 手っ取り早い方法をお探しですか?形式に自信があれば、日付を引くだけです。
よくある質問
2 つの日付間の時間または分を取得できますか?
では使えませんDATEDIF
。日、月、年のみを扱います。時間や分の場合は、差を で乗算するか24
、 を使用してください=(EndDateTime - StartDateTime) * 24
。ただし、日付だけでなく、日付時刻の値である必要があります。
うるう年はどうですか?計算がおかしくなりますか?
絶対にそうではありません。Excel は日数を計算する際に自動的にうるう年を考慮しますので、心配する必要はありません。
エラーが発生していますか? なぜ #VALUE なのでしょうか?
日付はテキスト形式で保存されている可能性が高いです。フォーマットを変更するか、DATEVALUEを使用してテキストを日付に変換してください。
まとめ(あるいは最終的な考え)
Excelで日付間の日数を計算するのは、コツさえ覚えてしまえば、それほど難しいことではありません。通常は、日付がきちんと日付として認識されていることを確認し、適切な方法を選ぶだけです。一番簡単な方法は?セルの書式設定が適切であれば減算するだけですが、=DATEDIF
より確実な方法をお探しの場合は減算しましょう。いずれにしても、特に締め切りが迫っている時や週末までカウントダウンしている時など、覚えておくと便利なスキルです。この簡単な説明が、頭を悩ませる時間を少しでも節約するのに役立つことを願っています。