「今日の日付を毎回手入力するのが面倒……」
「現在時刻を一発で入力したい」
「2026/9/29と入力したら、曜日も自動で表示させたい」
「入力した瞬間の日時を、あとから変わらない形で残したい」
Excelでは、日付や時刻を入力する方法がいくつもあります。
単純に今日の日付を入力するだけなら、ショートカットキーを使うのが最速です。
一方で、常に今日の日付を表示したいならTODAY関数、現在日時ならNOW関数が使えます。
さらに、曜日の自動表示やVBAを使ったタイムスタンプまで組み合わせれば、日付・時刻の入力作業をかなり自動化できます。
この記事では、Excel初心者でも使いやすい方法からVBAによる自動化まで、目的別にまとめて解説します。元記事でも、ショートカット・TODAY/NOW・VBAを目的別に使い分ける構成になっています。
この記事でわかること
この記事では、次の方法を解説します。
- 今日の日付を一瞬で入力する方法
- 現在時刻を一瞬で入力する方法
- TODAY関数とNOW関数の使い分け
- 日付に曜日を自動表示する方法
- 西暦・和暦で曜日を表示する方法
- VBAで現在日時を固定して記録する方法
- VBAで指定した日付を曜日付きで入力する方法
最初に結論をまとめると、用途によって次のように使い分けます。
| やりたいこと | 方法 |
|---|---|
| 今日の日付を固定して入力 | Ctrl + ; |
| 現在時刻を固定して入力 | Ctrl + Shift + ; |
| 常に今日の日付を表示 | TODAY関数 |
| 常に現在日時を表示 | NOW関数 |
| 日付に曜日を表示 | ユーザー定義の表示形式 |
| 現在日時を固定記録 | VBA |
| 指定日を曜日付きで入力 | VBA |
元記事でも、固定値ならショートカット、自動更新ならTODAY/NOW、操作時点を記録するならVBAという使い分けになっています。
今日の日付を一瞬で入力する
今日の日付をセルに入力するだけなら、関数を使う必要はありません。
入力したいセルを選択して、
Ctrl + ;
を押します。
これだけで現在の日付が入力されます。
たとえば2026年9月29日に実行すれば、
2026/9/29
のように入力されます。
この方法の大きな特徴は、入力した日付が固定されることです。
翌日にファイルを開いても、2026/9/29と入力した値はそのまま残ります。
そのため、
- 作業日
- 受付日
- 確認日
- 入力日
- 完了日
など、「その日に実行した」という記録を残す用途に向いています。元記事でも、ショートカットによる日付・時刻入力は固定値として使う方法として整理されています。
現在時刻を一瞬で入力する
現在時刻を入力したい場合は、
Ctrl + Shift + ;
を使います。
入力した瞬間の時刻がセルに記録されます。
こちらも固定値なので、時間が経過しても自動的には変わりません。
作業開始時刻や受付時刻など、「何時に行ったか」を残したい場合に便利です。
TODAY関数で今日の日付を自動表示する
「入力した日付を固定する」のではなく、「いつ開いても今日の日付を表示したい」という場合はTODAY関数を使います。
セルに、
=TODAY()
と入力します。
これで今日の日付を表示できます。
ショートカットとの違いは、自動更新されることです。
たとえば、
Ctrl + ;
で入力した日付は固定されます。
一方、
=TODAY()
は今日の日付を表示するための関数です。
したがって、「いつ入力したかを記録したい」場合と「常に今日の日付を表示したい」場合では使い分けが必要です。元記事でもTODAY関数は自動更新する方法として紹介されています。
NOW関数で現在の日付と時刻を表示する
日付だけでなく、現在時刻も含めて表示したい場合はNOW関数を使います。
=NOW()
と入力します。
TODAY関数との違いは、
TODAY関数
→ 日付
NOW関数
→ 日付+時刻
という点です。
ただし、NOW関数も固定されたタイムスタンプではありません。
「作業した瞬間の日時を記録として残したい」という用途なら、後ほど紹介するVBAを使います。
TODAY関数とNOW関数そのものを詳しく知りたい場合は、別記事の「ExcelのTODAY関数・NOW関数 完全ガイド」で詳しく解説しています。サイト内にはTODAY/NOW専用の詳細記事がすでにあるため、本記事では「日付・時刻を入力する方法」という観点に絞ります。
日付と曜日を自動表示する
ここからは、日付だけでなく曜日も表示する方法です。
たとえば、
2026/09/29
と入力したセルを、
2026/09/29 (火)
のように表示できます。
曜日を「火」と手入力する必要はありません。
セルの表示形式を設定しておけば、入力した日付に対応する曜日を自動で表示できます。
西暦+曜日で表示する方法
曜日を表示したいセルを選択し、セルの書式設定から「ユーザー定義」を選択します。
種類に、
yyyy/mm/dd (aaa)
と入力します。
すると、
2026/09/29 (火)
のように表示できます。
日付を入力するだけで曜日まで表示されるため、曜日を毎回調べたり入力したりする必要がありません。
旧記事でも、西暦の場合は yyyy/mm/dd (aaa) を使う方法が紹介されています。
和暦+曜日で表示する方法
和暦で表示したい場合は、
ggge年m月d日 (aaa)
を指定します。
たとえば、
令和8年9月29日 (火)
のような表示にできます。
旧記事では、西暦と和暦の両方のユーザー定義書式を使う方法が紹介されています。
曜日表示を使うメリット
曜日を手入力する方法と比べると、表示形式を使う方法には大きく2つの利点があります。
ひとつは、日付を入力するだけで曜日を自動表示できること。
もうひとつは、あらかじめ決めた書式で表示を統一できることです。
旧記事でも、「自動で曜日を表示できる」「指定したフォーマットで統一できる」という効果が説明されています。
VBAで現在日時を固定して記録する
NOW関数は現在日時を表示できますが、「その瞬間の日時を記録して固定したい」場合はVBAを使う方法があります。
次のコードを標準モジュールに入力します。
Sub タイムスタンプ挿入()
ActiveCell.Value = Now()
End Sub
このマクロを実行すると、選択しているセルにその時点の日時が入力されます。
NOW関数との違いは、数式ではなく値として記録できることです。
そのため、
- 作業開始日時
- 確認日時
- 処理日時
- 受付日時
などを残したい場合に使えます。
元記事にも、操作タイミングを記録する方法としてVBAマクロが含まれています。
VBAで指定した日付を曜日付きで入力する
もうひとつ便利なのが、「今日」ではなく、自分で指定した日付を曜日付きで入力する方法です。
たとえば、
- 返信希望日
- 納期
- 提出日
- 予定日
などを入力する場合です。
次のVBAを使います。
Sub 日付指定曜日自動入力()
Dim Dans As String
Dans = InputBox("記入例>2026/9/29", "返信希望日を入力")
ActiveCell.Value = Format(Dans, "ggge年m月d日(aaa)")
End Sub
マクロを実行すると入力ダイアログが表示されます。
たとえば、
2026/9/29
と入力すると、
令和8年9月29日(火)
のような形式で、選択しているセルへ入力されます。
この方法は旧記事で紹介されていた主要なVBAテクニックです。
VBAコードの仕組み
コードの中で重要なのは、次の3つです。
InputBox
InputBox
入力ダイアログを表示し、ユーザーから日付を受け取ります。
Format関数
Format(Dans, "ggge年m月d日(aaa)")
入力された日付を、和暦+曜日の形式に変換します。
ActiveCell
ActiveCell.Value
現在選択しているセルへ結果を入力します。
旧記事でも、この3点がコードのポイントとして解説されています。
VBAマクロの設定方法
VBAを初めて使う場合は、次の手順で設定します。
- Excelで
Alt + F11を押す - VBAエディターを開く
- 「挿入」から「標準モジュール」を選ぶ
- VBAコードを貼り付ける
- Excel画面へ戻る
- 「開発」タブから「マクロ」を開く
- 「日付指定曜日自動入力」を選ぶ
- 「実行」をクリックする
- 表示されたダイアログへ日付を入力する
すると、選択中のセルへ指定形式の日付と曜日が入力されます。旧記事でも同じ手順でマクロを設定・実行しています。
表示形式を変更する
VBAで入力する日付の表示形式は変更できます。
たとえば、西暦+曜日にしたい場合は、
ActiveCell.Value = Format(Dans, "yyyy年m月d日(aaa)")
とします。
すると、
2026年9月29日(火)
のような形式で入力できます。
旧記事でも、Format関数の書式部分を変更することで表示形式をカスタマイズできる方法が紹介されています。
入力するセルを固定する
通常のコードでは、
ActiveCell
を使っているため、現在選択しているセルへ日付を入力します。
入力先をA1セルへ固定したい場合は、
Range("A1").Value = Format(Dans, "ggge年m月d日(aaa)")
のように変更できます。
旧記事でも ActiveCell を Range("A1") に変更するカスタマイズ例があります。
ショートカット・関数・表示形式・VBAはどう使い分ける?
ここまで紹介した方法を整理すると、次のようになります。
| 目的 | おすすめ |
|---|---|
| 今日の日付を記録として残す | Ctrl + ; |
| 現在時刻を記録として残す | Ctrl + Shift + ; |
| 今日の日付を自動表示 | TODAY関数 |
| 現在の日付と時刻を自動表示 | NOW関数 |
| 日付に曜日を付けて表示 | ユーザー定義 |
| 西暦+曜日で表示 | yyyy/mm/dd (aaa) |
| 和暦+曜日で表示 | ggge年m月d日 (aaa) |
| 現在日時を固定して記録 | VBAタイムスタンプ |
| 任意の日付を曜日付きで入力 | InputBox+FormatのVBA |
迷ったら、まず「入力した値を固定したいのか、自動更新したいのか」で判断すると分かりやすくなります。
固定したいならショートカットやVBA。
自動更新したいならTODAY関数・NOW関数。
曜日を追加したいだけなら、ユーザー定義の表示形式です。
よくある質問
TODAY関数とCtrl+;は何が違いますか?
Ctrl + ; は、その日に入力した日付を固定値として残します。
=TODAY() は今日の日付を表示する関数なので、固定値として記録する方法とは用途が異なります。
NOW関数はタイムスタンプとして使えますか?
NOW関数は現在日時を表示できますが、本記事でいう「記録した瞬間の日時を固定する」用途ではVBAを使い分けます。元記事でもVBAは操作タイミングを記録する方法として整理されています。
曜日を毎回入力する必要はありますか?
ありません。
ユーザー定義で、
yyyy/mm/dd (aaa)
などを設定すれば、入力した日付に対応する曜日を表示できます。
和暦と曜日を一緒に表示できますか?
できます。
ggge年m月d日 (aaa)
を使用します。
VBAで入力先を固定できますか?
できます。
旧記事では ActiveCell を Range("A1") などへ変更する方法が紹介されています。
まとめ
Excelの日付・時刻入力は、用途によって方法を使い分けるとかなり効率化できます。
今日の日付を記録するだけなら、
Ctrl + ;
現在時刻なら、
Ctrl + Shift + ;
常に今日の日付を表示するなら、
=TODAY()
現在日時なら、
=NOW()
を使います。
日付に曜日を付けたい場合は、ユーザー定義の表示形式を使えば手入力は不要です。
さらに、現在日時を固定して残したり、指定した日付を和暦+曜日で入力したりする作業は、VBAを使えば自動化できます。
毎回手入力している日付や時刻こそ、Excelで最初に時短しやすい作業です。
まずは Ctrl + ; から使ってみてください。

コメント