Excelで日付を入力したのに、翌日ファイルを開くと日付が変わっていたり、セルに#######と表示されたりして困ることがあります。
日付の自動更新は便利な反面、請求日、受付日、作業完了日、記録日など、入力した時点の日付を残したい場面では不都合になる機能です。
また、数字が日付として認識されない、日付が文字列に変わる、表示だけが崩れるといった問題は、入力方法と表示形式を分けて考えると整理しやすくなります。
入力した日付を残す基本は、TODAY関数ではなく固定値として入力することです。
日付が#######になる場合は、まず列幅と表示形式を確認します。
数字の日付が直らない場合は、文字列かシリアル値かを見分けることが重要です。
この記事では、入力日を固定する方法、自動更新を止める考え方、#######表示の直し方、日付数字を正しい日付へ変換する方法を順番に解説します。
日付そのものが変わったのか、表示だけが変わったのかを最初に切り分けることが、短時間で解決するポイントです。
エクセルで入力日を固定して残す方法
それではまず、入力した日付を自動更新させずに残す方法について解説していきます。
| 受付番号 | 受付日 | 担当者 |
|---|---|---|
| A001 | 2026/09/08 | 田中 |
| A002 | 2026/09/09 | 佐藤 |
ショートカットによる当日日付の固定入力

Windows版Excelで当日の日付を固定入力するには、日付を入れたいセルを選択してからCtrlキーとセミコロンキーを同時に押します。
たとえば2026年9月8日に操作すると、セルには2026/9/8のような日付が入力されます。
この操作で入る日付は関数ではなくセルに保存される値なので、翌日になっても変化しません。
入力日時を記録として残したいときは、Ctrl+;がもっとも手軽な方法です。
時刻も残したい場合は、日付を入力した後でスペースを入れ、CtrlキーとShiftキーとセミコロンキーを同時に押します。
日付と時刻を同じセルに保存すると、受付時刻、作業開始時刻、更新履歴などの管理にも使えます。
表示が時刻まで出ない場合でも、数式バーに日付と時刻が入っていれば、表示形式を変えることで確認できます。
直接入力による日付の保存
日付をキーボードで直接入力して確定する方法でも、日付は固定値として残ります。
2026/9/8、2026-9-8、9/8など、Excelが日付として認識できる形式で入力すると、セルには日付のシリアル値が保存されます。
年を省略して9/8と入力した場合は、通常は現在の年の日付として扱われます。
過去や未来の記録を正確に残すなら、年を含めた2026/9/8の形式で入力する習慣を付けると安心です。
入力後にセルを選択し、ホームタブの表示形式で日付になっていることも確認しましょう。
文字列として保存されると、日付の並べ替え、期間集計、曜日表示などで想定外の結果になることがあります。
貼り付け時の日付固定
別のセルにTODAY関数などで表示されている日付を、そのままコピーして貼り付けると、貼り付け先にも数式が引き継がれる場合があります。
現在の日付だけを記録として残したいときは、コピー後に形式を選択して貼り付けから値を選びます。
貼り付け先には計算式ではなく、その時点で表示されていた日付だけが保存されます。
数式を値に置き換える貼り付けは、日付の自動更新を止める代表的な対処です。
操作は、コピーした後に貼り付け先を右クリックし、値の貼り付けを選ぶ流れです。
キーボード操作に慣れている場合は、コピー後にCtrlキーとAltキーとVキーを押して、値を選択する方法も使えます。
【操作のポイント】固定したいのが日付の表示ではなく記録そのものなのかを確認し、関数が入っているセルは値として貼り付けます。
TODAY関数とNOW関数の自動更新設定
続いては、日付が勝手に変わる原因になるTODAY関数とNOW関数を確認していきます。
| セル | 数式 | 表示例 |
|---|---|---|
| B2 | =TODAY() | 2026/9/8 |
| B3 | =NOW() | 2026/9/8 10:30 |
TODAY関数による日付更新の仕組み

TODAY関数は、パソコンの日付を参照して今日の日付を返す関数です。
セルに=TODAY()と入力すると、ブックを開いたときや再計算されたときに、当日の日付へ更新されます。
したがって、昨日作成した見積書にTODAY関数が入っていると、今日開いた時点で発行日まで今日の日付に変わることがあります。
TODAY関数は今日の日付を表示する機能であり、入力日を保存する機能ではありません。
日報の作成日、ダッシュボードの基準日、期限までの日数計算には便利ですが、確定済みの帳票には注意が必要です。
セルを選択して数式バーに=TODAY()と表示されるなら、日付が変わる理由は関数です。
NOW関数による日時更新の仕組み
NOW関数は、現在の日付だけでなく時刻も返す関数です。
セルに=NOW()と入力すると、日付と時刻が計算のタイミングに応じて更新されます。
Excelの再計算設定が自動の場合は、計算式の編集、ブックを開く操作、データ更新などをきっかけに表示が変わることがあります。
時刻まで記録したい用途でNOW関数を使うと、過去の記録が上書きされたように見えるため注意しましょう。
受付日時や承認日時を残す用途では、NOW関数より固定入力または値貼り付けが適しています。
日時が必要な場合は、入力時にCtrl+;で日付を入れ、スペースの後にCtrl+Shift+;で時刻を加える方法が確実です。
数式を固定値へ置き換える手順
すでにTODAY関数やNOW関数を使用している表でも、表示中の日付を固定値へ変えることができます。
まず固定したいセルまたは範囲を選択し、CtrlキーとCキーでコピーします。
続けて同じ場所を右クリックし、貼り付けのオプションから値を選択します。
この処理をすると、=TODAY()や=NOW()という数式が、その時点の日付または日時に置き換わります。
数式バーを確認し、先頭のイコール記号が消えて日付だけが表示されている状態になれば固定完了です。
=TODAY() は日付を毎日更新します。
=NOW() は日付と時刻を更新します。
コピー後に値として貼り付けると、表示時点の結果だけを残せます。
【操作のポイント】関数を消す前に元ファイルを複製しておくと、毎日更新する版と記録として保存する版を安全に使い分けられます。
日付が#になる場合の列幅と表示形式
続いては、日付を入力したセルが#######と表示される場合の直し方を確認していきます。
| A | B | C |
|---|---|---|
| 商品名 | 出荷日 | 数量 |
| ノート | ####### | 12 |
列幅不足による#表示
日付セルが#######になるもっとも多い原因は、列の幅が日付表示に足りていないことです。
たとえば2026年9月8日をyyyy年m月d日形式で表示すると、2026年9月8日という長さになり、狭い列には収まりません。
この場合、セルを選択しても数式バーには正しい日付が表示されます。
#######は多くの場合、データの破損ではなく表示スペース不足のサインです。
列見出しBとCの境目を右へドラッグするか、境目をダブルクリックして列幅を自動調整してください。
表全体の見た目を揃えたいときは、日付の表示形式を短くする方法も有効です。

日付表示形式の変更
列幅を広げても見にくい場合は、セルの表示形式を変更します。
日付のセルを選択してホームタブの数値グループを開き、短い日付形式を選択します。
2026年9月8日を2026/9/8や9/8のように表示できれば、必要な列幅を抑えられます。
セルを右クリックしてセルの書式設定を開き、表示形式タブの日付またはユーザー定義から設定する方法もあります。
表示形式を変えても、日付の値そのものは通常変わりません。
帳票ではyyyy/mm/dd、社内の短い一覧ではm/d、年月だけを示す表ではyyyy/mと使い分けると見やすくなります。
負の日時による#表示
#######は列幅不足以外に、日時の計算結果が負の値になった場合にも表示されることがあります。
たとえば終了時刻から開始時刻を引いた結果がマイナスになると、標準の1900年日付システムでは時刻として表示できません。
開始時刻が18:00で終了時刻が9:00のように日付をまたぐ勤務表では起こりやすい問題です。
日付と時刻の計算式を確認し、終了日時が開始日時より後になっているかを見直しましょう。
翌日へまたぐ時刻差を求めるなら、終了時刻に1日を加える考え方が必要になることがあります。
日付時刻の計算では、1が1日を表します。
開始時刻がB2、終了時刻がC2で日またぎを考慮する式の例は次のとおりです。
=MOD(C2-B2,1)
この式は時刻差を0から1未満の値として返すため、表示形式を[h]:mmに設定すると経過時間を確認しやすくなります。
【操作のポイント】#######を見たら、最初に列幅を広げ、それでも直らない場合に数式と負の日時を確認します。
日付数字が直らない場合の変換操作
続いては、数字や文字列で入った日付を正しい日付形式へ直す操作を確認していきます。
| 入力値 | 状態 | 修正後 |
|---|---|---|
| 20260908 | 8桁の数字 | 2026/9/8 |
| 2026.9.8 | 文字列の可能性 | 2026/9/8 |
8桁数字をDATE関数で日付へ変換
20260908のような8桁の数字は、見た目は日付でもExcelでは単なる数値として扱われることがあります。
元データがA列にあり、1行目が見出し、A2からデータが入っているとします。
B2にDATE関数とLEFT関数、MID関数、RIGHT関数を組み合わせた式を入力します。
=DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2))
LEFT(A2,4)は左から4文字を取り出し、年の2026を指定します。
MID(A2,5,2)は5文字目から2文字を取り出し、月の09を指定します。
RIGHT(A2,2)は右から2文字を取り出し、日の08を指定します。
DATE関数は年、月、日を受け取り、Excelが計算できる正式な日付値へ変換します。
変換後のB2を下方向へオートフィルすると、A3以降の8桁数字もまとめて日付化できます。
変換結果が連続した数字で表示されるときは、ホームタブから短い日付形式を選択してください。
文字列の日付を区切り位置で変換
左寄せで表示される日付や、セル左上に緑色の三角形が出る日付は、文字列として保存されている可能性があります。
文字列の日付をまとめて変換するには、対象の列を選択し、データタブの区切り位置を使う方法があります。
区切り位置指定ウィザードでは、区切り文字の有無をそのままにして次へ進み、列のデータ形式で日付を選択します。
年、月、日の並びに合う形式を指定して完了すると、文字列が日付値へ変換されます。
データの並びが年月日なのか月日年なのかを間違えると、別の日付に変わるため注意が必要です。
変換前に数件のデータを確認し、元データを別シートへコピーしてから処理すると安全です。
日付シリアル値と表示形式の確認
Excelでは日付を内部的に連続した数値で管理しています。
たとえば2026/9/8のセルの表示形式を標準に変更すると、大きな整数が表示されることがあります。
これは日付が壊れたわけではなく、日付シリアル値が見えている状態です。
日付として計算できる値なら、表示形式を日付に戻すだけで元の見た目へ戻せます。
セルを右クリックし、セルの書式設定から日付を選択するか、ホームタブの表示形式で短い日付形式を指定してください。
日付シリアル値は、Excelが基準日からの日数として保持する数値です。
見た目が数字でも、表示形式を変えるだけで日付に戻るケースがあります。
【操作のポイント】8桁数字、文字列、シリアル値では直し方が異なるため、数式バーとセルの配置を見て状態を判断します。
入力日を残すための書式と運用ルール
続いては、入力した日付を後から変えないための書式設定と日常的な運用を確認していきます。
| 用途 | おすすめの方法 | 更新可否 |
|---|---|---|
| 受付日 | Ctrl+; | 固定 |
| 今日の日付表示 | TODAY関数 | 自動更新 |
日付列の表示形式の統一
同じ表の中で2026/9/8、2026年9月8日、9月8日が混在すると、記録としての見やすさが下がります。
日付列を選択し、表示形式をyyyy/mm/ddなどに統一すると、一覧性が高まります。
入力値が正しい日付であれば、表示形式をまとめて変更しても日付の計算や並べ替えは維持されます。
日付列は入力の前に書式を設定しておくと、表記ゆれを減らせます。
西暦と和暦が混ざる帳票では、利用目的に応じてどちらかへ統一することも大切です。
テーブル機能による入力範囲の管理
日付を含む一覧表は、Excelのテーブル機能に変換すると管理しやすくなります。
データ範囲を選択してCtrlキーとTキーを押し、先頭行をテーブルの見出しとして使用する設定を確認します。
テーブルでは新しい行を追加しても、日付列の表示形式が引き継がれやすくなります。
フィルターや並べ替えも見出しから行えるため、特定期間のデータ確認にも便利です。
1行目をヘッダーとして固定した一覧表にすると、日付列の意味と入力ルールを共有しやすくなります。
受付一覧では、1行目に受付番号、受付日、担当者、内容などのヘッダーを置きます。
日付は2行目以降へ固定入力し、TODAY関数は別の集計セルだけに使うと役割が明確です。
誤更新を防ぐセル保護
確定した日付を誤って入力し直すことが多い場合は、セルの保護を活用できます。
まず入力を許可したいセルのロックを外し、確定済みの日付セルはロックしたままにします。
その後、校閲タブからシートの保護を設定すると、ロックされた日付セルを編集できなくなります。
保護をかける前に、更新担当者と更新可能な範囲を決めておくことが重要です。
セル保護は自動更新を止める機能ではなく、人為的な上書きを防ぐ機能として使います。
【操作のポイント】今日の日付を示すセルと、過去の記録を保存するセルを別に設計すると、関数と固定値が混ざりません。
まとめ エクセルで入力した日付を残す方法
Excelで入力した日付を残したい場合は、TODAY関数やNOW関数をそのまま記録欄に使わず、固定値として入力することが基本です。
当日の日付を素早く残すなら、Windows版ExcelではCtrlキーとセミコロンキーを使う方法が便利です。
関数で表示した日付を残したいときは、コピーして値として貼り付けることで自動更新を止められます。
日付が#######になる場合は、まず列幅を広げる確認を行い、直らなければ負の日時計算や表示形式を見直しましょう。
20260908のような日付数字が直らない場合は、DATE関数で年、月、日を分けて変換する方法が有効です。
文字列として保存された日付は、区切り位置やセルの書式設定を使って日付値へ直せる場合があります。
日付列の表示形式を統一し、固定日付と自動更新日付の役割を分けると、請求書、進捗表、受付台帳などの管理が安定します。
記録すべき日付は固定値、常に今日を示す日付は関数という使い分けを意識して、見やすく正確なExcelファイルを作りましょう。