【Excel】TODAY・NOWの日付や時刻を固定する方法|値貼り付けと入力の使い分け

【Excel】TODAY・NOWの日付や時刻を固定する方法|値貼り付けと入力の使い分け
🛡️ 超解決

昨日入力したはずの日付が今日の日付に変わったときは、セルにTODAY関数やNOW関数が残っていないか確認してください。これらは入力時点を記録する関数ではなく、再計算時の現在日付・時刻を返します。受付日や作業終了時刻を保存するなら、固定値で入力するか、確認済みの計算結果を値に置き換えます。

ただし、値に置き換えて残せるのは、その時点でセルに入っている結果です。過去の日付へ更新前の状態を復元する操作ではありません。記録したい出来事の日時と、いま画面に表示されている日時が一致するかを先に確かめましょう。

ADVERTISEMENT

TODAYとNOWが変わるタイミングを知る

=TODAY()は日付、=NOW()は日付と時刻を返します。値の基になるのはパソコンの時計です。ブックを開いたときやシートの再計算時に結果が変わるため、毎日使う残日数表や「本日」の見出しには向いています。

一方、NOWは画面上で秒を刻み続ける時計ではありません。表示を秒単位にしても、再計算されるまでは同じ値のままです。計算方法が手動になっているブックでは、前回の結果が残ることもあります。「変わらないから固定済み」と判断せず、数式バーに関数があるかで見分けます。

例えば9月20日にTODAYで表示した日付をそのまま残すと、翌21日の再計算で21日になります。20日のうちに値として保存したセルは20日のままです。締切までの日数を毎日更新する欄と、提出日を記録する欄では、同じ日付表示でも適した保存方法が異なります。

9月20日のTODAYの表示を関数のまま残すと21日の再計算で21日へ変わるが、20日に値貼り付けした結果は20日のまま
9月20日のうちに値へ置き換えた例です。21日に値貼り付けしても、20日の記録を取り戻すことはできません。
※ お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

新しく入力する日付はショートカットで固定する

Windows版Excelでは、日付を入れたい空セルを選び、Ctrl+;を押すと現在の日付を固定値で入力できます。時刻はCtrl+Shift+;です。キーの表記や組み合わせはキーボード配列によって異なるため、動作しない場合は年月日や時刻を直接入力し、日付・時刻として認識されたか確認してください。

  1. 記録対象の行を選び、日付欄が正しいことを確かめます。
  2. 日付のショートカットを押し、Enterで確定します。
  3. 同じセルに日付と時刻を入れるなら、日付を挿入した後、確定前に空白を1つ入れ、時刻のショートカットを押します。
  4. 数式バーに=TODAY()や=NOW()が残っていないことを確認します。

この入力は過去の作業時刻を自動的に調べる機能ではありません。午前の受付を夕方まとめて入力するなら、受付記録にある本来の時刻を入れます。また、時刻だけでは日付が分からないため、日をまたぐ作業記録には年月日も残すと照合しやすくなります。

既存の関数はコピーして「値」を貼り付ける

すでに関数が入っている場合は、固定する範囲をコピーし、同じ範囲へ値を貼り付けます。元の関数を残しておきたい場合は、別列へ貼り付けて内容を比べてから切り替えてください。

  1. 保存用のコピーを作り、固定対象の日付・時刻を確認します。
  2. その時点の現在日時を残す目的なら、必要に応じて[数式]→[再計算実行]で結果を更新します。過去の日時が必要なら、更新する前に元記録と照合します。
  3. 対象セルだけを選び、Ctrl+Cでコピーします。
  4. [ホーム]→[貼り付け]の一覧で[値]を選びます。通常の貼り付けでは数式も残るので、数字の「123」を示す値の操作を選びます。
  5. 貼り付け後にセルをクリックし、数式バーから関数が消えたことを確認します。

日付欄の隣に金額の計算式がある場合、行全体を値にしないでください。必要な集計式まで失われます。フィルターで一部の行を隠している表も、まず小さな範囲で選択対象を確認してから進めます。

日付が数字になったら、値ではなく表示形式を直す

Excelは日付を連続した数値、時刻を1日の一部として扱います。そのため、別セルへ値だけを貼り付けたときに日付らしくない数値が見えても、値が壊れたとは限りません。貼り付け先を選び、Ctrl+1の[セルの書式設定]から[日付]または[時刻]を指定します。

日付と時刻を一緒に残す欄なら、ユーザー定義でyyyy/mm/dd hh:mmなどを使うと年を含めて確認できます。秒まで表示するならyyyy/mm/dd hh:mm:ssです。ただし、表示桁を増やしても、もともと記録していなかった秒の情報が増えるわけではありません。

逆に、NOWのセルへ日付だけの表示形式を設定しても、内部の時刻部分は残ります。「同じ日付なのに比較結果が一致しない」ときはこの点を確認します。日付だけが必要な記録なら、最初から日付だけを入力するか、時刻を除く処理の目的を確かめたうえで別列に整理します。

入力日を後から取り戻せないケース

9月20日に入力したTODAYが、すでに9月21日へ更新されていた場合、21日を値貼り付けしても20日には戻りません。受付メール、元の申請書、保存済みの別ファイルなど、日時を確認できる記録から補います。ブックの更新日時だけで、各行を入力した日時まで特定することはできません。

OneDriveやSharePointなどのバージョン履歴を使える環境では、過去の内容を確認できる場合があります。ただし、復元先で再計算される数式しか残っていなければ、過去の表示日時を保証できません。古いコピーを開いたら、安易に再保存せず、必要な固定値が存在するかを調べます。

時刻が全行同じになっている場合も、関数をまとめて入力した日時がそのまま作業時刻になるとは限りません。確認できない記録を現在日時で埋めず、元データを管理する担当者へ確認したほうが、あとからの照合に使える表になります。

自動記録と固定値の保護は別に考える

値に変えたセルも、通常は後から手入力で変更できます。「再計算で変わらない」ことと「変更できない証跡」であることは同じではありません。申請や勤怠など変更履歴が必要な用途は、記録用システムや運用ルールも含めて保存方法を選びます。

入力をきっかけに日時を自動記録したい場合、TODAYやNOWを置くだけでは実現できません。循環参照と反復計算を利用する式は、設定や編集・再計算の影響を受けるため、確実なタイムスタンプの代わりとして使うのは避けます。

まずは「作業終了時に担当者が固定日時を入力する」手順で足りるかを検討してください。自動化が必要なら、どの変更を記録するか、貼り付けで複数行を追加したときはどうするか、時刻の修正履歴をどう残すかを決めてから実装します。単に自動入力できるだけでは、必要な記録を残せたことになりません。

置き換え後は数式と記録内容の両方を確認する

固定後は対象から数セルを選び、関数が消えたこと、日付・時刻が元記録と一致することを確認します。作業用コピーで再計算しても値が変わらなければ、動的な関数からの置き換えはできています。表示が変わらないだけでなく、数式バーも見るのが確実です。

誤った範囲へ値貼り付けした直後ならCtrl+Zで戻します。保存して閉じた後は、通常の元に戻す操作では回復できないため、事前のコピーや利用可能なバージョン履歴を確認します。元の数式を復元する場合も、別の行からそのままコピーすると参照先が変わる点に注意します。

日々変える「本日」欄にはTODAY、記録として残す「受付日」欄には固定値、というように用途を分けておけば、同じ表を翌日開いても記録の意味を保てます。

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

超解決 Excel・Word研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。

🏆
超解決 Excel検定 あなたのExcel実務能力を3分で測定!【1級・2級・3級】