- 作成日 : 2025年8月5日
ExcelのDAYS関数とは?日数計算の使い方やエラー対策を解説
「プロジェクトの締切まであと何日?」「商品の保管期間は何日だった?」
そんな日付に関する計算は、ExcelのDAYS関数(デイズ関数)を使えばあっという間に求められます。手作業では煩雑になりがちな経過日数計算を効率よく行えるため、業務の正確性とスピードが大きく向上します。
この記事では、DAYS関数の基本的な構文から活用シーン、よくあるエラーとその対処法まで、Excel初心者の方にも分かりやすく丁寧に解説します。日付計算をスマートにこなしたい方は必見です。
目次
DAYS関数とは?なぜ日付計算にDAYS関数を使うのか
DAYS関数は、2つの日付の間の日数を算出するためのExcel関数です。開始日と終了日を指定するだけで、その期間に含まれる日数を正確に計算してくれます。
DAYS関数でできることは、下記のとおりです。
- 正確な日数計算: 複雑な日付計算式を組む必要がなく、簡単な入力で正確な日数を導き出せます。
- 計算ミスの削減: 手動での日数カウントや、複雑な数式による計算ミスを防げます。
- 時間の節約: 日付計算にかかる手間と時間を大幅に削減し、本来の業務に集中できます。
DAYS関数の基本的な使い方
DAYS関数の構文は下記のとおりです。
- 終了日 (必須): 日数を計算したい期間の最終日を指定します。日付、または日付が入力されたセルを指定します。
- 開始日 (必須): 日数を計算したい期間の開始日を指定します。日付、または日付が入力されたセルを指定します。
DAYS関数は「終了日 – 開始日」として日数を計算しますので、指定する順序を間違えないようにしましょう。もし「開始日 – 終了日」のように逆の順序で指定すると、負の整数が返されます。
DAYS関数は経過日数を数えるため、開始日を0とカウントします。開始日を1日目とする数えの日数を導き出したい場合には、下記のような処理が必要です。
=DAYS(終了日, 開始日-1)、あるいは =DAYS(契約満了日,契約開始日)+1
例:DAYS関数で簡単な日付計算をしてみよう
たとえば、2024年4月1日から2024年4月15日までの日数を計算したいとします。
セル | 日付 |
---|---|
A2 | 2024/4/1 |
B2 | 2024/4/15 |
このデータを使ってDAYS関数を入力してみます。
=DAYS(B2, A2)
この式を入力すると、「14」という数値が返されます。これは、2024年4月1日から2024年4月15日までの日数が14日であることを示しています。
直接日付を入力することも可能です。 関数に日付を入力する場合は、日付をダブルクォーテーションマークで囲む必要があります。
=DAYS(“2024/4/15”, “2024/4/1”)
または
=DAYS(“2024-04-15”, “2024-04-01”)
このように、さまざまな日付形式に対応しています。
DAYS関数の利用シーン
DAYS関数は、ビジネスのさまざまな場面で活用できます。
契約期間や保証期間の管理
契約の開始日と終了日の間に何日あるのかを正確に把握することで、契約更新のタイミングを逃さず、適切な対応ができます。
製品の保証期間についても同様に、購入日から何日経過しているかを計算し、保証対象期間内であるかどうかの確認に活用できます。
プロジェクトの進捗管理
プロジェクトの開始日と現在の(または予定の)終了日を指定することで、プロジェクトが開始してから何日経過したのか、あるいはプロジェクト完了までにあと何日残っているのかを瞬時に計算できます。これにより、進捗状況をリアルタイムで把握し、計画通りの進行を支援します。
経理や人事における期間計算
従業員の勤続年数や特定の期間における勤務日数を計算する際に、DAYS関数は非常に便利です。また、支払い期日から何日経過したかを計算し、支払いの遅延状況を把握するなどの経理業務にも応用可能です。商品の売上データや在庫データの日付から、特定期間の販売日数や保管日数を算出することもできます。
データ分析とレポート作成
顧客の初回購入日と最終購入日の差を計算して顧客の購入サイクルを分析したり、特定のキャンペーン開始日から終了日までの日数を算出したりすることで、データに基づいたインサイトを得られます。これらの日数をレポートに含めることで、より詳細な分析が可能になります。
DAYS関数の応用
DAYS関数は他の関数と組み合わせることで、より高度な日付計算や分析が可能になります。
1. TODAY関数やNOW関数と組み合わせる
今日の日付を表すTODAY関数や、現在の日時を表すNOW関数と組み合わせることで、「今日から特定の日付までの日数」や「特定の日付から今日までの日数」をリアルタイムで計算できます。
例:プロジェクト終了までの残り日数
プロジェクトの終了予定日がB2セルに入力されている場合、
=DAYS(B2, TODAY())
と入力することで、今日から終了日までの残り日数を常に最新の状態で表示できます。
2. IF関数や条件付き書式と組み合わせる
DAYS関数で算出した日数を条件として、IF関数で特定のメッセージを表示したり、条件付き書式でセルの色を変更したりできます。
例:支払い期日までの警告
請求書の期日がA2セルに入力されており、今日の日付がB2セルに入力されているとします。
=IF(DAYS(A2, B2)<=7, “期限間近”, “”)
と入力すれば、期日まで7日以内であれば「期限間近」と表示されます。
条件付き書式を使って、期日まで残り日数が少なくなったセルの色を変えることも可能です。
3. 計算された日数を別の計算に利用する
DAYS関数で得られた日数を、さらに別の計算式に組み込めます。たとえば、1日あたりの費用を計算したり、日割りで報酬を計算したりする際に役立ちます。
例:日割り家賃の計算
年間家賃がC2セル、契約開始日がA2セル、契約終了日がB2セルに入力されているとします。
=(C2/365)*DAYS(B2, A2)
と入力すれば、契約期間中の日割り家賃を算出できます(うるう年を考慮しない簡易的な計算)。
DAYS関数のよくあるエラーと対策
DAYS関数は比較的シンプルですが、使用する上でいくつか注意すべき点と、よくあるエラーの対策について解説します。
1. #VALUE! エラー
このエラーは、主に以下の原因で発生します。
日付形式の誤り
DAYS関数に渡す日付が、Excelが認識できる有効な日付形式でない場合に発生します。たとえば、「2024年4月1日」のようにテキスト形式で直接入力したり、認識できない区切り文字を使用したりするとエラーになります。システムは「mm/dd/yy」 形式で設定されているのに、数式は「dd/mm/yyyy」などの別の形式で入力されているケースでも、#VALUE! エラーが表示されるのです。
対策として、Excelが日付として認識できる形式(例: 「YYYY/MM/DD」、「YYYY-MM-DD」、「MM/DD/YYYY」など、ご使用のExcelの地域設定に準じた形式)で日付を入力するか、セルに日付データとして入力されていることを確認してください。終了日と開始日が、同じ日付形式で入力されているかも確認しましょう。
参照先のセルに数値以外のデータがある
指定したセル範囲に、曜日など日付ではないテキストや記号が含まれている場合に発生します。
対策として、参照するセルが正しい日付形式のデータであることを確認しましょう。
2. 引数の順序間違いによる負の値
エラーではありませんが、DAYS関数の結果がマイナスの値になる場合があります。これは、「終了日」と「開始日」の引数の順序を間違えて入力していることが原因です。DAYS関数は「終了日 – 開始日」を計算するため、終了日が開始日より前の日付だと負の値になります。
対策として、必ず計算したい期間の「後の日付」を最初の引数に、「前の日付」を2番目の引数として指定してください。ミスを繰り返すようであれば、絶対値を返すABS関数を使うことも検討すると良いでしょう。
3. Excelのバージョンによる注意
DAYS関数は、Excel 2013以降のバージョンで使用できる関数です。もしExcel 2010以前のバージョンを使用している場合、DAYS関数は利用できません。
対策として、古いバージョンを使用している場合は、=終了日 – 開始日 のように直接引き算をするか、DATEDIF関数などの代替手段を検討する必要があります。
DAYS関数で日付計算のストレスをなくそう
DAYS関数は、2つの日付間の日数を正確かつ簡単に計算できる便利なExcel関数です。プロジェクトの期間管理、経理の支払いサイクル、人事の勤続日数計算など、日々のビジネスシーンで幅広く活用できます。
複雑な日付の数式を組む手間を省き、計算ミスを減らすことで、Excel作業はより効率化できます。TODAY関数やIF関数など、他の関数と組み合わせることで、さらに強力なツールとして活用できるでしょう。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関連記事
xlookup関数とは?使い方やvlookup関数との違いを解説
xlookup関数とは、Excelのデータ検索機能を強化するために設計された新しい関数です。この関数は、指定した範囲から特定の値を検索し、その関連データを効率的に返すことができます。従来のvlookup関数と比べ、より柔軟で簡便に利用できる…
詳しくみるExcelのLET関数の使い方!基本から複数定義の方法、エラー対策を解説
LET関数(レット関数)を使えば、複雑な数式をすっきり整理し、Excelの計算効率を大幅に向上できます。「同じ計算を何度も書いて数式が長くなる」「数式が読みづらくてミスしやすい」そんな悩みを抱える方にぴったりの関数です。 この記事では、LE…
詳しくみる日付をシリアル値に変換するDATEVALUE関数の使い方
DATEVALUE関数は、日付をシリアル値(Excelが日付や時刻を数値として扱うための値)に変換するための非常に便利な関数です。この関数を使用することで、テキスト形式の日付を数値として扱うことができ、日付の計算や分析が容易になります。特に…
詳しくみるADDRESS関数の使い方や組み合わせて便利な関数をわかりやすく解説
ExcelやGoogleスプレッドシートにおいて、データの管理や分析を効率よく進めるためには、さまざまな関数を適切に使いこなすことが求められます。その中でも「ADDRESS関数」は、セルの位置(行番号・列番号)を指定してアドレス(セルの場所…
詳しくみるエクセルでエンターキーを押した後の移動方向を設定する方法
エクセルを使う際、エンターキーを押した後のセルの移動方向を設定することで、作業効率が向上します。デフォルトでは、エンターキーを押すと下方向にセルが選択されますが、この設定を変更することで、左や右、上に移動させることが可能です。この記事では、…
詳しくみるExcel ROWS関数とは?範囲の行数のカウントや応用例を解説
ExcelのROWS関数(ロウズ関数)は、指定した範囲内に何行あるかを素早くカウントできる便利な関数です。データ集計や表の作成、重複チェックなど、多くの作業で活用でき、手作業によるカウントミスや工数を減らせます。 この記事では、ROWS関数…
詳しくみる