Excelで日付を減算する3つの簡単な方法

Excelで日付を減算する3つの簡単な方法

Excel で作業しているとき、ある時点で 2 つの日付の間の日数を見つける必要があります。

幸いなことに、Excel には、日付を減算して日付間の日数の差を取得する方法がいくつか用意されています。

Excel で日付を減算する簡単な方法は 3 つあります。

  1. 単純な引き算
  2. DAYS()関数の使用
  3. NETWORKDAYS() 関数の使用

古い方法の 1 つとして、Microsoft がサポートしなくなった DATEDIF() 関数があります。ただし、ここに挙げた 3 つの方法は信頼性が高く正確です。プロジェクトのタイムラインやビジネス分析などのタスクの日付間の違いをすぐに見つけることができます。

この記事を読み終えるまでに、各メソッドを自分の作業に適用して日付を減算し、日数を簡単に取得できるようになります。

それでは始めましょう。

目次

Excel の日付を理解する

Excel の日付は数値とテキストの両方として機能するため、混乱を招く場合があります。Excel では日付がシリアル番号として保存されることを理解すると、より理解できます。

Excel の日付システムは、1900 年 1 月 1 日からカウントを開始し、シリアル番号 1 が割り当てられます。その後の毎日には、次の番号が割り当てられます。

たとえば、1900 年 1 月 2 日のシリアル番号は 2 です。

おそらく、これにより 2 つの日付を減算し、それらの間の日付を見つけることが簡単になることがわかります。推奨される方法を見てみましょう。

新しいワークブックを起動することをお勧めします。私が挙げた各例は簡単なチュートリアルです。

私のワークシートでは、サンプル日付としてセル B2 とセル C2 を使用しています。これらの例は、作業のテンプレートとして使用できます。

Excelで日付を減算する3つの簡単な方法

1. 単純な減算を使用して日数を取得する

Excelで 2 つの日付の間の日数を求める最初の方法は、単純な減算 (マイナス記号) を使用することです。これは次の形式です。

=終了-開始

次の手順を実行します:

  1. 2 つの日付を別々のセルに入力します。
  2. 新しいセルに次のような数式を書きます。=C2-B2
  3. Enterを押します。

結果の値は、2 つの日付の間の整数の日数になります。

この例では、B2 に「2023 年 3 月 3 日」、セル C2 に「2023 年 3 月 20 日」と入力しました。計算した結果は17でした。

以下の図のセル A2 は、使用される方法を単に説明したものです。

Excelで日付を減算する3つの簡単な方法

カスタムラベルの追加

結果をカスタム ラベルで表示する場合は、次の式を使用します。

=C2-B2 & "日"

この数式は、セル参照の計算された日付の差とテキスト「日」を連結します。これにより、より説明的な結果が得られます。

たとえば、2 つの日付の間に 17 日がある場合、結果は「17 日」と表示されます。

2. DAYS関数を使用して日数を計算する

DAYS Excel 関数は、日付間の日数を計算する組み込みの日付関数です。これは次の形式です。

=DAYS(終了、開始)

次の手順を実行します:

  1. 2 つの日付を別々のセルに入力します。
  2. 新しいセルに次のような数式を書きます。=DAYS(C2, B2)
  3. Enterを押します。

結果として得られる値は、2 つの日付間の合計日数になります。

関数をテストするために、前の例と同じ日付を使用しました。結果の数字は同じでした。

Excelで日付を減算する3つの簡単な方法

結果は常に整数になります。小数として (末尾にゼロを付けて) 表示したい場合は、書式設定タブを使用して数値形式を変更します。

3.NETWORKDAYS関数の使用

NETWORKDAYS 日付関数は、2 つの日付間の稼働日数を計算します。営業日ですので、週末や指定休日は除きます。

これは次の形式です。

= NETWORKDAYS(開始日、終了日、[休日])

3 番目のパラメータ (休日) はオプションです。使用しない場合、計算式では週末が除外されます。

休日を指定せずに最も単純な式を使用するには、次の手順に従います。

  1. 2 つの日付を別々のセルに入力します。
  2. 新しいセルに、次のような数式を入力します。=NETWORKDAYS(B2, C2)
  3. Enterを押します。

前の例で使用した日付 (2023 年 1 月 3 日と 1 月 20 日) を使用すると、この Excel 関数の結果は 14 になります。

これは、単純な減算を使用するよりも 3 日短くなります。それは、その期間中に週末が2回あるからです(再確認しました)。

Excelで日付を減算する3つの簡単な方法

休日の指定

計算から除外する休日のリストを数式に指定できます。

これを行うには、セル範囲に各休日を入力し、その範囲を休日のパラメータに入力します。

実際の例を見ると理解しやすくなります。

  1. 2 つの日付はセル B2 と C2 にあります。
  2. 最初の休日の日付はセル D2 にあり、2 番目の日付はセル E2 にあります。
  3. セル F2 で、次の数式を使用します。=NETWORKDAYS(B2, C2, D2:E2)
  4. Enter キーを押して結果を確認します。

この例では、結果は 12 です。数式では指定したセル範囲で日付のリストが見つかったため、これは前の計算より 2 日少なくなります。

Excelで日付を減算する3つの簡単な方法

(図ではセル A1 と A2 を示していません。セル A1 は空白で、A2 には説明が入ります。 )

ちなみに、休日の日付の長いリストがあり、重複が含まれているかどうかわからない場合は、以下のビデオでデータを確認する方法を示します。

重複を削除する方法も紹介します。

週末に別の日を指定する

NETWORKDAYS では、土曜日と日曜日が計算のデフォルトの週末として使用されることに注意してください。

週末が異なる場合は、NETWORKDAYS.INTL 関数を使用して週末の日をカスタマイズできます。

この形式について詳しく知りたい場合は、Microsoft のドキュメントを参照してください。

古い DATEDIF 関数 (非推奨)

現在のバージョンの Microsoft Excel の組み込み関数のリストには DATEDIF 関数はありません。

ただし、引き続き使用することは可能です。Microsoft は、特別な場合を除いてこの機能をサポートしなくなったため、この機能をリストに掲載していません。

問題は、それが常に正確であるとは限らないことです。そのため、この機能の使用は避けることをお勧めします。

古いバージョンのソフトウェアを使用している場合に備えて説明します。また、使用している古いテンプレートにもこの機能が見つかる可能性があります。構文は次のとおりです。

= DATEDIF(開始、終了、「d」)

3 番目のパラメーターで「d」を使用すると、関数に日数を計算するよう指示します。必ず「d」を二重引用符で囲んでください。

別の使用法として、「m」は月数として計算を行い、「y」は年数を示します。

手順は次のとおりです。

  1. 隣接するセルに 2 つの日付を入力します。
  2. 新しいセルに、次のような数式を入力します=DATEDIF(Start_Date, End_Date, "d")
  3. Enterを押します。

これにより、2 つの日付の間の日数が返されます。

前の例のセルを使用すると、関数は DATEDIF(B2, C2, “d”) になります。

他の関数とは異なり、この関数は #NUM! を表示します。最初の日付が 2 番目の日付より後の場合はエラーになります。

計算での現在の日付の使用

計算内の日付の 1 つを現在の日付にしたい場合、Excelには便利な Today 関数が用意されています。

セル参照の 1 つを TODAY() に置き換えるだけです。私のワークシートでは、日付を保持するには列 B のみが必要です。以下に例を示します。

=DAYS(TODAY(), B2)

少し紛らわしいことに、VBA の同等の関数には別の名前が付いています。マクロをコーディングしている場合は、Date() 関数を使用します。

月または年を減算して日を見つける方法

ちょうど 1 か月前の日付を探している場合は、TODAY() 関数の出力から 30 日を減算したくなるかもしれません。

ただし、これは一部の月についてのみ正確であるため、良い方法ではありません。

EDATE 関数はまさにこの目的に使用されます。構文は次のとおりです。

= EDATE(開始, 月)

ちょうど 1 か月前の私の具体的な例としては、次のようにします。

=EDATE(今日(), -1)

これにより、丸 1 か月前の日付が得られます。これは月を減算する最良の方法です。

年を減算する必要がある場合、YEAR 関数は指定された日付から年を計算します。

開始日が終了日より後の場合はどうなりますか?

最初の日付が 2 番目の日付より大きい場合、推奨されるメソッドではそれがエラーとして認識されません。彼らは計算を実行し、負の数を提供します。

たとえば、例で誤って日付を切り替えた場合、結果は -17 になります。

間違いを犯さないようにすることは常に良い考えです。IF 関数を使用すると、無効な日付範囲をチェックし、代わりにエラー メッセージを表示できます。

IF 関数と DAYS 関数を組み込む方法の例を次に示します。

=IF(B2 > C2, "無効な日付", DAYS(B2, C2, "d"))

このExcel数式は、最初の日付が 2 番目の日付より大きいかどうかをチェックします。その場合、「日付を無効にします」というテキストが表示されます。

それ以外の場合は、以前と同様に日数の差が計算されます。

以下の例では、2 つの日付を入れ替えました。この関数は、IF() 関数に指定したテキストを表示します。

Excelで日付を減算する3つの簡単な方法

正確な日付の減算のためのヒント

Excelで日付を操作する場合、計算の正確性を確保することが重要です。

ここでは、日付計算を使用する際に役立つヒントを紹介します。

  •  

ヒント 1. 正しい式を使用する

DATEDIF() 関数は使用しないことをお勧めします。必ずしも信頼できるとは限りません。

代わりに、この記事で説明する他の 3 つの方法のいずれかを選択してください。

ヒント 2. 日付を正しくフォーマットする

開始日セルと終了日セルの両方が日付として書式設定されていることを確認してください。

これを行うには、次の手順に従います。

  1. セルを右クリックします。
  2. 「セルの書式設定」を選択します(またはCtrl + 1を押してダイアログボックスを開きます)。
  3. 「数値」タブで「日付」を選択します。

これは、計算における潜在的なエラーを回避するのに役立ちます。

ヒント 3. うるう年を考慮する

うるう年は 2 つの日付の間の日数に影響を与える可能性があることに注意してください。

Excel では、日付の計算にうるう年が自動的に考慮されるため、正しい数式と書式設定に従えば、正確な結果が得られます。

閏年のリストはここで見つけることができます。

ヒント 4. 日付と結果をわかりやすく表示する

データと結果の読みやすさを向上させるには、Excel のいくつかの書式設定機能の使用を検討してください。

  • コンテンツの幅に合わせて列の幅を調整します。
  • 日付データを各セルの中央に配置します。
  • 太字や斜体などのスタイルを適用して、列ヘッダーをより明確にします。

一般的なエラーとトラブルシューティング

Excelで日付を減算する3つの簡単な方法

Excel で日付を操作しているときに、いくつかの一般的なエラーが発生する場合があります。これらの問題の解決に役立つトラブルシューティングのヒントをいくつか紹介します。

エラー 1: #VALUE!

このエラーは、セル値が適切な日付として認識されない場合に発生します。

この問題を解決するには:

  • 両方の日付セルが日付としてフォーマットされていることを確認します。
  • 日付を正しく解釈するには、ロケール設定を確認してください。

ロケールが異なれば、日付レイアウトも異なります (例: dd/mm/yy または mm/dd/yy)。

エラー 2: 不正確な結果

間違った結果が得られる場合は、次の点を考慮してください。

  • 日付の入力方法を再確認してください。月と日を間違えると計算間違いの原因となります。
  • NETWORKDAYS() 関数を利用して 2 つの日付の間の営業日のみをカウントする場合は、ネットワーク日を使用します。
  • 混乱やエラーを避けるために、ワークシート全体で日付の書式設定には一貫して同じ方法を使用してください。
  • この記事の方法を使用して手動計算を避けてください。

結論

この記事では、Excel で日付を減算し、2 つの日付間の日数の差を計算するさまざまな方法を検討しました。

ここまでで、DAYS 関数、NETWORKDAYS 関数、および単純な減算を使用して正確な結果を得ることができるようになったはずです。

形式が正しくないか無効であると予期しない結果が生じる可能性があるため、データを必ず再確認してください。

ここで説明した方法のいずれかを適用する場合は、開始日と終了日の両方が Excel で認識されるように適切な形式であることを確認してください。

この知識を習得したので、プロジェクトの期間を効果的に追跡し、傾向を分析し、期限を管理するなどのタスクを効果的に行うことができます。

Excel の日付機能の可能性を最大限に活用するために、さまざまな日付形式と関数を練習して実験し続けてください。楽しく計算しましょう!

Excel スキルを次のレベルに引き上げる準備はできていますか? 無料トレーニングをチェックしてください


Python における Self とは: 実際の例

Python における Self とは: 実際の例

Python における Self とは: 実際の例

RでRDSファイルを保存してロードする方法

RでRDSファイルを保存してロードする方法

R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。

最初の N 営業日の再考 – DAX コーディング言語ソリューション

最初の N 営業日の再考 – DAX コーディング言語ソリューション

この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。

LuckyTemplates のフィルター コンテキストの概要

LuckyTemplates のフィルター コンテキストの概要

この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。

LuckyTemplates を使用したビジネス レポート

LuckyTemplates を使用したビジネス レポート

これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて