【Excel】「TODAY関数」が更新されない?ブックを開いた時に再計算させる設定

【Excel】「TODAY関数」が更新されない?ブックを開いた時に再計算させる設定
🛡️ 超解決

エクセルを開くたびに、その日の日付を自動で表示してくれる『TODAY(トゥデイ)関数』。進捗管理表や請求書、日報作成において「日付の入力」という手間をパージ(排除)してくれる非常に便利な機能です。しかし、時折「昨日入力した日付のまま変わっていない」「ファイルを開いても古い日付が表示される」といった挙動に悩まされることがあります。これは関数自体の不具合ではなく、エクセルの『再計算エンジン』の設定や、関数の特性に起因する仕様です。本記事では、TODAY関数が止まってしまう原因を特定し、常に「今日」を維持するための設定プロトコルを徹底解説します。

【要点】TODAY関数を「眠り」から覚ませる3つのチェックポイント

  • 『計算方法の設定』を「自動」に切り替える: 計算の司令塔が「手動」になっていると、関数は時を止めたまま動かなくなる。
  • 『再計算の実行』を手動でトリガーする: 設定を変えずに一時的に更新したい場合、F9キーを叩いてブック全体に「更新命令」を送る。
  • 『揮発性関数』の性質を理解する: TODAY関数は「何か操作をするたびに再計算される」という特性を持つことを把握し、運用に活かす。

ADVERTISEMENT

1. 基礎解説:TODAY関数は「いつ」日付を更新するのか?

TODAY関数は、エクセルの中でも『揮発性関数(ボラタイル・ファンクション)』と呼ばれる特殊なグループに属しています。

1-1. リアルタイム更新ではないという誤解

TODAY関数は、PCの内蔵時計を常に監視して秒単位で更新されるわけではありません。エクセルが「再計算のタイミング」だと判断した瞬間にのみ、時計を見に行って日付を上書きします。主なタイミングは、ファイルを開いた時、セルの中身を書き換えた時、あるいは手動で更新をかけた時です。この再計算という名の「心臓の鼓動」が止まっていると、日付は古いまま残ってしまいます。


お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

2. 実践:計算設定を「自動」に戻すデバッグ手順

TODAY関数が更新されない原因の9割は、エクセルの計算設定が「手動」に切り替わっていることです。

2-1. 【操作】計算方法のグローバル設定

  1. リボンの「数式」タブをクリックします。
  2. 右端にある「計算」グループの「計算方法の設定」をクリックします。
  3. 「自動」にチェックが入っているか確認します。
  4. もし「手動」になっていたら、迷わず「自動」に切り替えてください。

プロの視点: 他人が作成した「計算が異常に重いファイル」を開くと、そのファイルの「手動計算設定」が自分のエクセル環境に引き継がれてしまうことがあります。身に覚えがないのにTODAY関数が止まった際は、まずこの設定を疑うのが鉄則です。


3. 応用:強制的に最新の日付へ同期させるショートカット

設定を変えたくない、あるいは「今すぐ最新の状態にしたい」場合に使える、再計算を強制デプロイ(実行)するコマンドです。

  • F9 キー: 開いているすべてのブックを再計算します。
  • Shift + F9 キー: 今見ているワークシートだけを再計算します。
  • Ctrl + Alt + F9 キー: すべての数式を一から強制的に再計算します(設定に関わらず最も強力なリフレッシュです)。

ADVERTISEMENT

4. 比較検証:『TODAY関数』 vs 『日付のショートカット入力』

「自動で変わってほしい日付」と「変えたくない日付」の使い分けを論理的に整理します。

比較項目 TODAY関数 ( =TODAY() ) ショートカット ( Ctrl + ; )
性質 動的(明日開けば明日の日付) 静的(入力した瞬間の日付で固定)
更新の手間 不要(自動) 必要(都度入力)
履歴としての妥当性 低い(過去の日付が残らない) 最高(証跡として残る)
主な用途 「本日の進捗状況」の表示 「作成日」「受領日」の記録

5. 注意点:揮発性関数による「ブックの鈍化」リスク

TODAY関数は便利ですが、過剰なデプロイ(使用)はブック全体のパフォーマンスを低下させる原因になります。

注意点: 揮発性関数であるTODAYは、シート内のどこか一箇所を書き換えるたびに再計算が走ります。数万行のデータに対して、一行ずつ「期限までの残り日数」をTODAY関数で計算させているようなブックでは、何を入力するにも数秒待たされるという「動作の遅延バグ」が発生しやすくなります。大規模なデータで日付の差分を見たい場合は、一つのセルだけに =TODAY() と入れ、他の数式はその「一つのセル」を参照するように設計することで、計算コストを最小限に抑えるのが賢明なアーキテクチャです。


6. 運用のコツ:ブックを開いた瞬間に強制更新させるには?

基本的に「自動計算」になっていれば、ファイルを開いた瞬間にTODAY関数は最新化されます。もし、マクロ(VBA)を使ってより厳格に管理したい場合は、Workbook_Open イベントに Calculate メソッドを記述することで、開くたびに必ず全数式をリフレッシュするプロトコルを組むことも可能です。


7. まとめ:TODAY関数は「生きた資料」のエンジン

エクセルのTODAY関数が更新されない現象は、決して魔法が解けたわけではありません。それは単に、再計算という名の「エクセルの活動リズム」が一時的に止まっているだけです。

計算方法の設定を「自動」に保ち、必要に応じてショートカットキーで喝を入れること。このシンプルな管理プロトコルを徹底すれば、あなたの資料は常に「現在」を映し出す、鮮度の高い情報ソースへと進化します。

次に日付が変わっていないことに気づいたら、焦って手入力する前に F9 キーを叩くか、数式タブの設定を覗いてみてください。システムが再び動き出したとき、正しい日付があなたの業務の「現在地」をそっと教えてくれるはずです。

📊
Excelトラブル完全解決データベースこの記事以外にも、様々なエラー解決策をまとめています。困った時の逆引きに活用してください。

ADVERTISEMENT

この記事の監修者
📈

超解決 Excel研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。