エクセルで日付を入力する方法には、自動更新や連続入力など、作業を効率化できる便利な機能があります。用途に応じた入力方法を選ぶことで、日付の打ち間違いや管理ミスを防げるでしょう。
本記事では、エクセルで日付を入力する基本操作や今日の日付を自動で表示する方法、うまく表示されないときの対処法を解説します。
目次
- エクセルの日付を正しく扱う基本
- 日付入力の基本
- シリアル値の仕組み
- 日付の書式設定
- 今日・現在時刻をショートカットで入力
- エクセルで今日・連続した日付を自動入力する方法
- TODAY/NOW関数の使い方
- オートフィルで日付を連続入力
- 日付を変換・統一する方法
- DATE関数で年・月・日を1つの日付にまとめる
- 表示形式を変更する
- 文字列・日付を相互に変換する方法
- 8桁の数字を日付に変換する方法
- エクセルの日付に曜日を表示する方法
- TEXT関数で曜日を表示する
- 土日祝を自動で色分けする
- エクセルの日付計算で使う主要関数
- DATEDIFで期間を計算する
- DATE・EOMONTH・WORKDAYの活用
- エクセルの日付がうまく表示されないときの対処法
- 「####」になる原因
- 文字列が勝手に日付になる問題
- CSV読み込みで日付が変わらないようにする設定
- まとめ
- よくある質問
エクセルの日付を正しく扱う基本
エクセルの日付を正しく扱うために重要なのは、「日付は文字ではなく数値として管理されている」という前提を理解することです。仕組みを知らないまま操作すると、日付が勝手に変わる、計算できないといったトラブルにつながります。
日付入力の基本
エクセルで日付を入力するときは、「エクセルが日付として認識できる形で入力する」ことが大切です。
やり方はシンプルで、日付を入れたいセルをクリックし、年・月・日をスラッシュ(/)やハイフン(-)で区切って入力します。2025年11月1日なら「2025/11/01」と入力し、Enterキーを押しましょう。
注意したいのが、日本語を含めた入力です。「2023年10月1日」と入力すると、見た目は日付でも、エクセルは文字として扱ってしまいます。そのため、日付の計算や並び替えに使えません。
シリアル値の仕組み
シリアル値とは、日付や時刻を計算するために使われる数値のことです。1900年1月1日を「1」として、そこから何日が経過したかを数値で表しています。たとえば、1900年1月10日は「10」、1900年1月30日は「30」となります。
「2025/11/01」と入力した場合、エクセルの内部では「45962」といったシリアル値として管理されています。エクセルでは、この数値を使って日付同士の計算を行っています。
1900年1月1日より前の日付にはシリアル値が割り当てられていないため、通常の日付計算はできません。
日付の書式設定
日付の書式設定は、日付データそのものを変えずに、見た目を整えるための機能です。エクセルでは、日付はシリアル値として保存されています。書式設定は、シリアル値の「表示方法」を切り替えているに過ぎません。
日付の書式を変更する基本手順は、下記のとおりです。
- 表示を変更したい日付のセルを選択する
- 選択したセルを右クリックし、「セルの書式設定」を選ぶ
- 「日付」を選び、表示形式を指定する
- 「OK」を押して確定する
今日・現在時刻をショートカットで入力
ショートカットキーを使うと、今日の日付や現在時刻を素早く入力できます。この方法を使うと、正しい形式の日付・時刻を確実に入力可能です。
日付や時刻を入力したいセルをクリックして選択した状態で、次の操作を行います。
| 入力したい内容 | Windowsの場合 | Macの場合 |
|---|---|---|
| 今日の日付 | Ctrl+; | Command+; |
| 現在時刻 | Ctrl+Shift+; | Command+Shift+; |
エクセルで今日・連続した日付を自動入力する方法
エクセルでは「関数を使って自動更新する方法」と「連続データとしてまとめて入力する方法」を使い分けることで、日付入力の手間とミスを大きく減らせます。
TODAY/NOW関数の使い方
TODAY関数とNOW関数は、現在の日付/日時を自動で表示するための方法です。操作手順は、次のとおりです。
- 日付を表示したいセルを選び、=TODAY()と入力してEnterを押す
- 日付と時刻を表示したいセルを選び、=NOW()と入力してEnterを押す
入力したセルの数値は、ファイルを開き直したり再計算されたりするタイミングで更新されます。勤怠表の基準日や、期限までの日数を計算する起点など「常に最新にしたい」場面で使います。
反対に、請求書の発行日など「後から変わると困る日付」には使用しません。
オートフィルで日付を連続入力
日付を連続して入力したい場合は、オートフィル機能を使うと簡単です。手順は、次のとおりです。
オートフィルで日付を連続入力する手順
- 日付を並べたい列の最初のセルをクリックする
- 起点となる日付を入力してEnterキーを押す
- セルの右下に表示される小さな四角にマウスを合わせる
- 下方向または横方向へドラッグする
ドラッグするだけで、エクセルが自動的に翌日以降の日付を判別し、連続した日付が入力されます。ドラッグ操作を終えると、セルの近くに小さなアイコンが表示されます。
クリックすると、日付を1日ずつ増やす、月単位で増やすといった入力ルールを選べるため、用途に応じて調整可能です。
同じ日付が繰り返し入力されてしまう場合は、ドラッグ中にCtrlキーを押していないかを確認しましょう。
オートフィル機能を使えば、数日分から1ヶ月分以上の日付でも短時間で入力可能です。スケジュール表やタスクリスト作成の手間を減らせるでしょう。
日付を変換・統一する方法
日付のデータがシリアル値になっていないと、日付同士の計算や並べ替えができません。データが揃っていない場合は、以下の方法で、シリアル値に変換・統一する必要があります。
よくあるケースごとにシリアル値への変換・統一する方法を解説します。
DATE関数で年・月・日を1つの日付にまとめる
年・月・日が別々の列に分かれていると、シリアル値をもたないので、日付のデータとして扱えません。このような場合は、DATE関数を使って3つの値を1つの日付にまとめます。
セルに「=DATA(」と入力し、年・月・日が入力されているセルを順番に指定します。
また、DATE関数は特定の要素だけを変更した日付を作る際にも便利です。既存の日付から年だけを変えたり、月初の日付を作ったりといった処理も、組み合わせ次第で柔軟に対応できます。
表示形式を変更する
日付の見た目を変更したい場合は、セルの値を書き換えるのではなく、表示形式を変更するのが適切な方法です。
たとえば、「2025/11/1」を「2025年11月1日」という表示に変えたい場合、以下のように表示形式を変更します。
日付が入っているセルを選択して右クリックし、「セルの書式設定」を開きます。次に「日付」を選び、「2025年11月1日」を選びます。
ほかにも「11月1日」「1-Nov-25」などさまざまな表示形式が選べるので、用途に合った形式を指定しましょう。
文字列・日付を相互に変換する方法
CSVファイルやWebから取り込んだデータでは、日付が「文字列」として保存されていることがあります。文字列のままでは、日付の並び替えや日数計算ができないため、まずはシリアル値へ変換する必要があります。
文字列の日付をシリアル値に変換するには、DATEVALUE関数を使います。文字列の日付が入力されているセルを参照し、別のセルにDATEVALUE関数を入力します。
ただし、DATEVALUE関数で変換できるかどうかは、Excelの地域設定や日付の表記形式に依存します。「2025年11月1日」のように日本語を含む形式は、そのままでは変換できないことがあります。事前に「2025/11/1」のような、区切り記号だけの形式に整えてから処理しましょう。
反対に、日付を文字列として使いたい場合はTEXT関数を使います。日付セルを参照し、表示形式を指定することで、文字列として出力できます。
8桁の数字を日付に変換する方法
「20251101」のような8桁の数字は、シリアル値ではなく、数値として扱われます。この場合は、文字列変換ではなく、年・月・日を取り出して日付を組み立てる処理が必要です。
基本的な手順は次のとおりです。
8桁の数字を日付に変換する手順
- 8桁の数字が入力されているセルを確認する
- 別のセルに、年・月・日を取り出す式を入力する
例:年=LEFT(A1,4)、月=MID(A1,5,2)、日=RIGHT(A1,2) - 取り出した年・月・日をDATE関数でまとめる
例:=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2))
データ量が多い場合は、変換用の列を作って処理し、結果を値として貼りつけると管理しやすくなるでしょう。変換後は、年月日が正しく反映されているかを数件確認しておくと安心です。
エクセルの日付に曜日を表示する方法
エクセルでは、日付データをもとに曜日を自動表示できます。関数や書式設定を使えば、日付を変更した際も曜日が自動で切り替わります。
TEXT関数で曜日を表示する
曜日を別のセルに表示するには、TEXT関数を使う方法がもっとも簡単です。日付セルを参照し、表示形式に曜日コードを指定します。
A1セルに日付(2025/11/1)が入力されている場合、曜日だけを表示したいセルに次の数式を入力します。
| 表示したい内容 | 使用する数式 | 表示例(A1=2025/11/1) |
|---|---|---|
| 日本語の曜日(1文字) | =TEXT(A1,"aaa") | 土 |
| 日本語の曜日(正式表記) | =TEXT(A1,"aaaa") | 土曜日 |
| 英語の曜日(短縮) | =TEXT(A1,"ddd") | Sat |
| 英語の曜日(正式表記) | =TEXT(A1,"dddd") | Saturday |
この方法を使えば、日付はA列、曜日はB列といったように曜日専用の列を作成可能です。日付を変更すれば曜日も自動更新されます。
また、TEXT関数を使えば、日付と曜日を組み合わせた文字列として出力も可能です。「=TEXT(A1,"m/d(aaa)")」を入力すると、「◯月◯日(曜)」の形式で表示できるため、スケジュール表の見出しや一覧表にも活用しやすくなります。
土日祝を自動で色分けする
曜日表示に加えて、土日祝を自動で色分けすると、表の見やすさはさらに向上します。条件付き書式を使って、日付に応じてセルの表示色を自動変更できます。
具体的な手順は、下記のとおりです。
土日祝を自動で色分けする手順
- 日付と曜日が入力されている表を用意する
- 色分けを適用したいセル範囲を選択する
- 「ホーム」タブ→「条件付き書式」→「新しいルール」をクリックする
- 「数式を使用して、書式設定するセルを決定」を選択する
- 条件欄に、曜日を判定する数式を入力する
※曜日列を基準にする場合は、列を固定するために「$」をつける - 「書式」をクリックし、「塗りつぶし」タブで色を指定する
- 「OK」を押して設定を確定する
必要に応じて、土曜・日曜・祝日ごとにルールを追加しましょう。設定後は、「条件付き書式」→「ルールの管理」から編集・削除が可能です。
エクセルの日付計算で使う主要関数
エクセルでの日付計算は、専用の関数を使うことで自動化できます。手作業で日数や月数を数えると、月末の違いやうるう年の影響でミスが起こりがちです。
エクセルの関数を使えば、契約管理や請求業務の精度と効率が大きく向上します。
DATEDIFで期間を計算する
2つの日付の間の「経過期間」を求めたい場合は、DATEDIF関数が最適です。開始日と終了日を指定するだけで、年・月・日単位の期間を自動で算出できる、実用性の高い関数です。
たとえば、年齢や勤続年数を計算する際、単純な引き算では誤差が出やすい傾向があります。DATEDIFを使えば、「満年数」を正確に求められます。
年数だけを表示する、年と月を組み合わせて「〇年〇ヶ月」と表示するといった使い方も可能です。
DATE・EOMONTH・WORKDAYの活用
月末日や営業日を基準にした日付計算には、DATE・EOMONTH・WORKDAYの関数を組み合わせて使います。これにより、下記の日付を自動で求められます。
- 当月末
- 翌月末
- 〇営業日後
まず、月末日を求めたい場合はEOMONTH関数を使います。A1に基準日が入っている場合、当月末は「=EOMONTH(A1,0)」、翌月末は「=EOMONTH(A1,1)」と入力することで取得できます。
DATE関数は、年・月・日が別々のセルに分かれている場合に役立ちます。
- A1:2025(年)
- B1:11(月)
- C1:1(日)
上記のようにセルがわかれているデータをひとつのセルに「2025年11月1日」と表示するには、「=DATE(A1,B1,C1)」と記入します。
この方法を使うと、CSVデータや外部システムから取り込んだ「分割された日付」を、並び替えや日付計算ができる形に整えられます。
「◯営業日後」の日付を求めたい場合はWORKDAY関数を使いましょう。たとえば、発注日が「A1」に入力されていて、10営業日後を求める場合は「=WORKDAY(A1,10)」と入力します。土日を除外した10日後の日付が表示されます。
祝日も考慮に入れる場合は、「=WORKDAY(A1,10,祝日リスト)」のように入力します。別シートで祝日リストを作成しておくことで、土日と祝日を除外した計算が可能になります。
エクセルの日付がうまく表示されないときの対処法
エクセルの日付表示トラブルの多くは、表示設定・入力形式・読込方法のいずれかに原因があります。
「####」になる原因
「####」表示の原因は列幅不足か不正な日付計算のどちらかです。
日付や数値がセルに収まらない場合、「####」と表示されます。列見出しの境界にカーソルを合わせ、左右矢印が出た状態でドラッグ、またはダブルクリックして列幅を自動調整すれば解消されます。
また、日付計算の結果が負の値になっていると「####」と表示されます。開始日より前の日付を引くなど、計算順が誤っていると正しく表示されません。列幅を広げても直らない場合は、数式の計算順を確認しましょう。
文字列が勝手に日付になる問題
エクセルには、入力内容を自動的に日付として解釈する仕様があります。そのため「1-1」「3/15」などは、意図せず日付に変換されることがあります。とくに、品番・型番・コード番号の入力時は注意が必要です。
この問題を防ぐには、入力前にセルや列の表示形式を「文字列」に設定するのが確実です。単発の入力であれば、値の先頭にアポストロフィ(')を付けて入力すると、文字列として保存されます。表示上は、アポストロフィは残りません。
CSV読み込みで日付が変わらないようにする設定
CSVファイルを直接開くと、エクセルが自動で列の内容を判定し、日付や数値を勝手に変換してしまうことがあります。この操作を繰り返すと、元のデータ形式が失われてしまうため注意が必要です。
安全に読み込むには、エクセルを起動してからインポート機能を使って、CSVを取り込む方法が有効です。読み込み時に列ごとのデータ型を指定すれば、日付は日付、文字列は文字列として正しく保持されます。
この方法を使えば、定期的に受け取るCSVでも同じ設定を再利用でき、日付変換トラブルを未然に防げます。日付が崩れる場合は、開き方を見直しましょう。
まとめ
エクセルで日付を正しく扱うには、固定する日付と自動で更新する日付を使い分けることが基本です。さらに書式設定で表示を整え、関数で日付計算を自動化することで、入力ミスや手間を減らせます。
こうした日付管理は、スケジュール表や管理表だけでなく、請求や支払などの業務でも欠かせません。日付管理を起点に、入力や計算を効率化したい場合は、請求・支払から会計処理まで管理できる「freee会計」を活用するのも選択肢です。
よくある質問
エクセルで日付を自動で入力する方法はありますか?
エクセルでは、関数を使って今日の日付を自動表示する方法と、連続した日付をまとめて入力する方法があります。
TODAY関数やNOW関数を使えば、ファイルを開くたびに「今日」や「現在時刻」を自動で表示可能です。一方、オートフィル機能を使えば、数日分や1ヶ月分の日付を一気に入力できます。
詳しくは記事内「エクセルで今日・連続した日付を自動入力する方法」をご覧ください。
エクセルで日付をyyyy/mm/ddに変換するにはどうしたらよいですか?
日付が入力されているセルの、表示形式を変更します。
セルを右クリックして「セルの書式設定」を開き、「日付」または「ユーザー定義」から「yyyy/mm/dd」を選択してください。
詳しくは、記事内「表示形式を変更する」をご覧ください。
エクセルの日付が文字化けした場合の直し方はありますか?
エクセルで日付が「####」と表示される原因は2通りです。1つ目は列幅が足りず日付を表示しきれていないケースで、2つ目は日付計算の結果が不正な値になっているケースです。
列幅を調整して解消しなければ、数式の正誤を確認しましょう。
詳しくは、記事内「「####」になる原因」をご覧ください。
