「締切まであと何日?」「プロジェクトの残り日数を自動で出したい!」仕事や学校でExcelを使っていると、残り日数をすぐに計算したい場面がよくありますよね。
Excelなら、日付同士の引き算をするだけで簡単に残り日数を出すことができます。この記事では、以下について詳しく解説します:
- Excelで残り日数を計算する基本方法
- TODAY関数を使った自動更新の仕組み
- 条件付き書式で期限を視覚的に管理する方法
- 実用的な応用テクニックと活用例
- よくある問題と解決方法
これを読めば、締切管理やスケジュール表をもっと便利に作れるようになりますよ。
残り日数計算の基本概念

Excelの日付システム
シリアル値の仕組み
Excelでは、日付をシリアル値(連続した数字)で管理しています。
- 1900年1月1日:1
- 1900年1月2日:2
- 2024年1月1日:45292
日付計算の原理
この仕組みにより、日付同士の引き算が可能になります:
=終了日 - 開始日
残り日数計算の基本パターン
最もシンプルな形
=締切日 - 今日の日付
実用的な形
=締切日 - TODAY()
基本的な残り日数の計算方法
シンプルな引き算での計算
基本の構造
A列 | B列 | C列 |
---|---|---|
今日 | 締切日 | 残り日数 |
=TODAY() | 2025/7/31 | =B2-A2 |
数式の説明
=B2-A2
- B2:締切日
- A2:今日の日付(TODAY())
- 結果:残り日数
TODAY関数の活用
TODAY関数の特徴
- 自動更新:ファイルを開くたびに今日の日付に更新
- 動的計算:残り日数も自動的に最新値に更新
- 書式:
=TODAY()
実用例
=DATE(2025,7,31) - TODAY()
特定の日付(2025年7月31日)までの残り日数を計算
負の値を回避する方法
問題:期限切れでマイナス表示
期限を過ぎると「-5日」のような負の値が表示されます。
解決方法1:MAX関数を使用
=MAX(0, B2-A2)
- 0未満の場合:0日と表示
- 0以上の場合:実際の残り日数
解決方法2:IF関数を使用
=IF(B2-A2<0, "期限切れ", B2-A2)
- 期限切れの場合:「期限切れ」と表示
- 期限内の場合:残り日数を表示
実用的な応用テクニック
条件付き書式を使った視覚的な管理
基本的な色分け設定
残り日数が少なくなったら色を変えて、一目で締切が近いことを分かるようにします。
設定手順
- 残り日数のセル範囲を選択
- 「ホーム」タブ → 「条件付き書式」
- 「セルの強調表示ルール」→「指定の値より小さい」
- 値に「7」を入力、書式を赤色に設定
段階的な色分け例
3段階の警告システム
// 1日以下:赤色
=C2<=1
// 3日以下:オレンジ色
=AND(C2<=3, C2>1)
// 7日以下:黄色
=AND(C2<=7, C2>3)
視覚的な効果
- 赤色:緊急(1日以下)
- オレンジ色:注意(2-3日)
- 黄色:準備期間(4-7日)
- 白色:余裕あり(8日以上)
営業日での計算
NETWORKDAYS関数の活用
土日祝日を除いた営業日ベースでの残り日数計算:
=NETWORKDAYS(TODAY(), 締切日)
祝日を考慮した計算
=NETWORKDAYS(TODAY(), 締切日, 祝日範囲)
祝日の一覧を別の範囲に作成し、それを参照して営業日を計算。
実用例
=NETWORKDAYS(TODAY(), B2, $F$2:$F$20)
- TODAY():今日の日付
- B2:締切日
- $F$2:$F$20:祝日一覧の範囲
時間まで考慮した計算
時刻を含む残り時間計算
=締切日時 - NOW()
結果の表示形式
- 日数のみ:
=INT(B2-NOW())
- 時間まで:
=B2-NOW()
(セル書式を「h:mm」に設定) - 分まで:
=(B2-NOW())*24*60
(分単位)
より高度な残り日数計算

DATEDIF関数の活用
基本的な使い方
=DATEDIF(開始日, 終了日, 単位)
単位の種類
- “d”:日数
- “m”:月数
- “y”:年数
実用例
残り月数の計算
=DATEDIF(TODAY(), 締切日, "m")
残り年数の計算
=DATEDIF(TODAY(), 締切日, "y")
年月日の組み合わせ
=DATEDIF(TODAY(), 締切日, "y") & "年" &
DATEDIF(TODAY(), 締切日, "ym") & "ヶ月" &
DATEDIF(TODAY(), 締切日, "md") & "日"
複合的な期間計算
年齢計算への応用
=DATEDIF(生年月日, TODAY(), "y")
勤続年数の計算
=DATEDIF(入社日, TODAY(), "y")
プロジェクト期間の計算
=DATEDIF(開始日, 完了予定日, "d")
実際の活用例
プロジェクト管理表
基本的な構造
プロジェクト名 | 開始日 | 終了予定日 | 残り日数 | ステータス |
---|---|---|---|---|
システム開発 | 2024/1/1 | 2024/6/30 | =C2-TODAY() | 進行中 |
高度な管理表
=IF(TODAY()>C2, "完了",
IF(D2<=7, "緊急",
IF(D2<=30, "注意", "余裕")))
締切管理システム
多重条件での状況判定
=IF(TODAY()>締切日, "期限切れ",
IF(残り日数<=1, "緊急",
IF(残り日数<=3, "至急",
IF(残り日数<=7, "注意", "余裕"))))
実用的な表示例
=IF(B2-TODAY()<0, "期限切れ",
IF(B2-TODAY()=0, "本日締切",
"あと" & B2-TODAY() & "日"))
スケジュール表
週次スケジュール
=IF(MOD(TODAY()-DATE(2024,1,1),7)=0, "今週",
IF(MOD(TODAY()-DATE(2024,1,1),7)<=3, "今週前半", "今週後半"))
月次スケジュール
=IF(MONTH(TODAY())=MONTH(締切日), "今月",
IF(MONTH(TODAY())+1=MONTH(締切日), "来月", "その他"))
よくある問題と解決方法
計算結果がおかしい場合
問題1:日付が文字列として入力されている
症状:計算結果が「#VALUE!」エラーになる
解決法:
=VALUE(日付セル) - TODAY()
問題2:時刻が含まれている
症状:小数点以下の数値が表示される
解決法:
=INT(締切日時 - TODAY())
表示形式の問題
問題:残り日数が小数で表示される
解決法:セルの書式設定を「数値」に変更
問題:負の値が表示される
解決法:
=MAX(0, 締切日 - TODAY())
自動更新されない場合
原因:計算が手動設定になっている
解決法:
- 「ファイル」→「オプション」
- 「数式」タブ
- 「自動」を選択
高度な応用テクニック

条件付き書式の応用
複数条件での色分け
// 期限切れ:赤
=TODAY()>$B2
// 1日以内:オレンジ
=AND(TODAY()<=B2, B2-TODAY()<=1)
// 3日以内:黄
=AND(TODAY()<=B2, B2-TODAY()<=3, B2-TODAY()>1)
データバーでの視覚化
- セル範囲を選択
- 「条件付き書式」→「データバー」
- 適切な色を選択
関数の組み合わせ
複雑な条件判定
=IF(AND(TODAY()<=締切日, 残り日数<=7), "要注意",
IF(TODAY()>締切日, "期限切れ", "正常"))
複数の期限管理
=MIN(締切日1-TODAY(), 締切日2-TODAY(), 締切日3-TODAY())
VBAでの自動化
基本的なVBAコード
Sub UpdateRemainingDays()
Dim lastRow As Long
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lastRow
Cells(i, 3).Value = Cells(i, 2).Value - Date
Next i
End Sub
自動実行の設定
Private Sub Workbook_Open()
UpdateRemainingDays
End Sub
印刷・共有時の注意点
印刷時の設定
日付の固定
TODAY()を使用している場合、印刷時に日付を固定する方法:
=IF(印刷フラグ, "2024/7/17", TODAY())
印刷範囲の調整
- 改ページプレビュー:適切な改ページ位置を設定
- ヘッダー・フッター:印刷日時を挿入
共有時の考慮点
ファイル共有時の注意
- TODAY()の動作:各ユーザーの環境の今日の日付を参照
- タイムゾーン:異なるタイムゾーンでの使用に注意
- 祝日データ:地域固有の祝日データの共有
まとめ
Excelでの残り日数計算は、基本的な引き算から高度な条件判定まで、様々な方法で実現できます。
基本的な計算方法
シンプルな引き算
=締切日 - TODAY()
負の値を回避
=MAX(0, 締切日 - TODAY())
条件付き表示
=IF(締切日<TODAY(), "期限切れ", 締切日-TODAY())
実用的な応用
視覚的な管理
- 条件付き書式:色分けによる状況把握
- データバー:残り日数の視覚化
- アイコンセット:状況の直感的な表示
高度な計算
- 営業日計算:NETWORKDAYS関数
- 期間計算:DATEDIF関数
- 複合条件:複数の条件を組み合わせた判定
活用場面
プロジェクト管理
- タスクの進捗管理:残り日数による優先度設定
- マイルストーン管理:重要な期限の追跡
- リソース配分:期限に応じた人員配置
日常業務
- 締切管理:レポートや提出物の期限管理
- スケジュール管理:会議や イベントの準備期間
- 契約管理:更新期限や有効期限の追跡
コメント