ネット上の簡易解説記事でしばしば推奨される「今日の日付はTODAY()関数を入れればOK」というアドバイスには、実務上大きな落とし穴が存在します。
TODAY関数は「シートを開いたその日の日付」を返す動的関数(揮発性関数)です。そのため、顧客からの問い合わせ受付日や契約締結日などの記録欄に=TODAY()を打ち込んでしまうと、翌日以降にシートを開いた瞬間、過去の日付データがすべて当日の日付へと上書き更新されてしまいます。
過去ログの改ざん事故を防ぐためには、以下の切り分けを組織内で徹底することが不可欠です。
1. 記録・ログ・履歴データ: 必ずショートカットキー(Ctrl + ;)で「静的な確定値」を入力する。
2. 進捗管理・期限残日数・ダッシュボード:TODAY()関数を用いて「常に現在時点との差分」を計算させる。
万が一、誤って関数で打ち込んでしまった膨大な日付を固定化したい場合は、列を選択して「コピー」>「特殊貼り付け」>「値のみ貼り付け」を実行することで、数式を破棄して現在の固定日付へと一括変換できます。
【プロの結論】業務フェーズ別・最適な日付管理設計の判断基準
スプレッドシートにおける日付運用の成否は、作成者のスキル以上に「運用の目的に合致した機能選定」ができているかで決まります。以下の基準に従ってシートの初期設計を行ってください。
・個人作業・スピード重視のメモ: ショートカット入力を徹底。手入力を完全に排除する。
・複数人での共有タスク管理・納期管理: カレンダーピッカー(データの入力規則)+条件付き書式で期限切れを自動検知する仕組みを構築する。
・基幹システム連携・データ集計用シート: 日付表示形式を「yyyy-mm-dd」などのISO形式に統一し、表記ゆれによるCSVインポートエラーを未然に防ぐ。