ExcelのNOW関数の使い方|現在の日付と時刻を自動取得する方法

スポンサーリンク

「作業した時刻を毎回手入力するのが面倒」と思ったことはありませんか。手入力は打ちミスのもとですよね。

ExcelのNOW関数を使えば、現在の日付と時刻をまとめて自動取得できます。基本の書き方から実務パターンまで紹介します。

この記事は次のような人におすすめ

  • 現在の日付と時刻をセルに自動表示したい
  • 経過時間や残り時間を自動計算したい
  • NOW関数とTODAY関数の違いを知りたい

NOW関数とは?

NOW関数(読み方: ナウ)は、現在の日付と時刻をシリアル値で返す関数です。英語の「now(今)」が由来です。

Excelの日付は「シリアル値」という連番で管理されています。1900年1月1日を「1」とし、1日ごとに1ずつ増えます。時刻は小数部分で表現され、0.5が正午(12:00)にあたります。

NOW関数が返すのはこのシリアル値です。整数部分が日付、小数部分が時刻を表します。たとえば 45762.75 なら「2025年4月15日 18:00」です。

NOW関数の最大の特徴は、再計算のたびに値が自動更新される点です。最新の日時を手入力する必要がなくなります。

NOTE

NOW関数は日付と時刻の両方を返します。日付だけが必要な場合は[[2022-06-18-excel-function-howto-use-today|TODAY関数]]を使ってください。

NOW関数の書き方(構文と引数)

基本構文

=NOW()

NOW関数には引数がありません。カッコの中は空のまま入力します。

引数の説明

引数必須/省略可内容
(なし)引数は不要。カッコ () だけを付ける

引数がない関数でも、関数名のうしろの () は必ず必要です。=NOW だけだと #NAME? エラーになります。

TIP

NOW関数は「揮発性関数」と呼ばれます。セルの編集やファイルを開く操作のたびに再計算されます。数式の参照関係に関係なく毎回更新されるため、大量に使用するとファイルの動作が遅くなる場合があります。

NOW関数の基本的な使い方

現在の日付と時刻を表示する

=NOW()

セルに入力すると、現在の日付と時刻が表示されます。たとえば 2025/4/15 14:30 のように表示されます。

時刻だけを表示する

NOW関数は日付と時刻の両方を返します。時刻だけを表示したい場合は、セルの表示形式を変更します。

  1. セルを右クリック →「セルの書式設定」
  2. 「表示形式」タブ →「時刻」を選択する

または[[2022-11-15-excel-function-howto-use-text|TEXT関数]]で書式を指定する方法もあります。

=TEXT(NOW(), "h:mm:ss")

結果: 14:30:25 のように時刻だけが文字列で表示されます。

日付だけを表示する

NOW関数の結果から日付だけを取り出すには、[[2022-07-01-excel-function-howto-use-int|INT関数]]で整数部分を取得します。

=INT(NOW())

小数部分(時刻)が切り捨てられ、日付のシリアル値だけが残ります。

TIP

日付だけが必要なら[[2022-06-18-excel-function-howto-use-today|TODAY関数]]のほうがシンプルです。INT(NOW()) は計算の途中で使う場面に向いています。

時間の加減算をする

NOW関数に数値を足し引きすると、未来や過去の日時を取得できます。

=NOW()+1

上の式で24時間後(翌日の同時刻)が表示されます。

=NOW()-1/24

上の式で1時間前の日時が表示されます。1日=1なので、1時間は 1/24 です。

時間の加減算で使える換算値をまとめました。

やりたいこと数式換算の考え方
1時間後=NOW()+1/241日の1/24
30分後=NOW()+30/14401日の30/1440
1時間前=NOW()-1/24同上(マイナス)
翌日の同時刻=NOW()+11日=1
1週間後=NOW()+77日=7

日付・時刻を固定したい場合

NOW関数は毎回更新されるため、入力した時点の値を固定したい場合には向きません。日時を固定する方法は2つあります。

方法1: ショートカットキーで入力する

OSショートカット内容
WindowsCtrl + ;今日の日付を入力(固定値)
WindowsCtrl + :現在の時刻を入力(固定値)
MacCommand + ;今日の日付を入力(固定値)
MacCommand + :現在の時刻を入力(固定値)

日付と時刻を同じセルに入れたい場合は、Ctrl+; → スペース → Ctrl+: の順に入力します。

方法2: NOW関数の結果を値で貼り付ける

  1. NOW関数が入ったセルをコピーする
  2. 貼り付け先で右クリック →「値」で貼り付ける

値で貼り付けると数式ではなく数値になるため、日時が変わっても更新されません。

NOW関数の実務活用パターン

経過時間を計算する

作業の開始時刻と現在時刻の差から、経過時間を自動計算できます。

=NOW()-A2

A2に開始日時が入っているとします。結果のセルの表示形式を [h]:mm に変更すると、経過時間が「3:45」のように表示されます。

24時間を超える場合は [h] の角カッコが必要です。角カッコを付けないと24時間で一巡してしまいます。

タイムスタンプを手動で記録する

データ入力のたびに時刻を自動記録したい場面があります。ただしNOW関数は再計算のたびに更新されるため、タイムスタンプには向きません。

シンプルな方法は、ショートカットキーで固定値を入力することです。

入力したい内容操作
日付のみCtrl + ;(Mac: Command + ;)
時刻のみCtrl + :(Mac: Command + :)
日付と時刻Ctrl + ; → スペース → Ctrl + :

NOTE

VBAを使えば、セルの値が変わったタイミングで自動的にタイムスタンプを記録する仕組みも作れます。Worksheet_Changeイベントを利用する方法です。

HOUR・MINUTE・SECOND関数と組み合わせる

NOW関数から時・分・秒だけを取り出したい場合は、それぞれの関数を組み合わせます。

=HOUR(NOW())

現在の(例: 14)を数値で返します。

=MINUTE(NOW())

現在の(例: 30)を数値で返します。

=SECOND(NOW())

現在の(例: 25)を数値で返します。

これらを応用すると、「現在時刻が業務時間内か」の判定もできます。

=IF(AND(HOUR(NOW())>=9, HOUR(NOW())<18), "業務時間内", "業務時間外")

TEXT関数と組み合わせて書式を指定する

[[2022-11-15-excel-function-howto-use-text|TEXT関数]]と組み合わせると、好きな書式で日時を文字列にできます。

=TEXT(NOW(), "yyyy/mm/dd hh:mm:ss")

結果: 2025/04/15 14:30:25 のように表示されます。

=TEXT(NOW(), "m月d日(aaa) h時m分")

結果: 4月15日(火) 14時30分 のように曜日付きで表示されます。

="最終更新: "&TEXT(NOW(), "m/d h:mm")

結果: 最終更新: 4/15 14:30 のように文章中に日時を埋め込む使い方もできます。

NOTE

TEXT関数の結果は文字列になるため、日時の計算には使えません。表示用と計算用で使い分けてください。

締切までの残り時間を計算する

締切の日時から現在日時を引くと、残り時間を自動計算できます。

=B2-NOW()

B2に締切の日時が入っているとします。セルの表示形式を [h]:mm にすると、残り時間が「26:30」のように表示されます。

結果がマイナスなら締切を過ぎています。[[2022-02-27-excel-function-howto-use-if|IF関数]]と組み合わせると、期限切れの判定も自動化できます。

=IF(B2-NOW()<0, "期限切れ", TEXT(B2-NOW(), "[h]時間mm分"))

よくあるエラーと対処法

NOW関数自体はエラーが出にくい関数です。ただし意図しない結果になるケースがあります。

症状原因対処法
5桁の数字が表示される表示形式が「標準」のまま表示形式を「日付」や「時刻」に変更する
#NAME? エラーが出る=NOW とカッコを付け忘れた=NOW() とカッコを付ける
時刻が毎回変わってしまうNOW関数の仕様(揮発性関数)固定したい場合は Ctrl+; / Ctrl+: で入力するか、値で貼り付ける
経過時間が日付で表示される引き算の結果に日付書式が適用されている表示形式を [h]:mm に変更する
数式が再計算されない手動計算モードになっている数式タブ →「計算方法の設定」→「自動」に変更する。または F9 キーで手動再計算
時刻の差がマイナスになる日をまたぐ計算(23:00→2:00等)=MOD(B2-A2, 1) で正の値に補正する

似た関数との違い・使い分け

日付・時刻を扱う関数はいくつかあります。目的に応じて使い分けましょう。

関数目的使い方の例
NOW日付と時刻を取得する=NOW() → 日付+時刻
**[[2022-06-18-excel-function-howto-use-todayTODAY関数]]**日付だけを取得する=TODAY() → 日付のみ
**[[2022-05-28-excel-function-howto-use-dateDATE関数]]**年・月・日から日付を作成する=DATE(2025,4,1) → 2025/4/1
**[[2022-06-24-excel-function-howto-use-timeTIME関数]]**時・分・秒から時刻を作成する=TIME(14,30,0) → 14:30
**[[2022-06-11-excel-function-howto-use-hourHOUR関数]]**時刻から「時」を取り出す=HOUR(A1) → 14
**[[2022-06-26-excel-function-howto-use-edateEDATE関数]]**基準日から○ヶ月後の同日を返す=EDATE(A1,3) → 3ヶ月後

NOW関数とTODAY関数の使い分け

  • 日付だけあればよい → [[2022-06-18-excel-function-howto-use-today|TODAY関数]](整数のシリアル値を返す)
  • 時刻も必要 → NOW関数(小数付きのシリアル値を返す)

TODAY関数が返すシリアル値は整数です。時刻は0:00:00として扱われます。日付同士の引き算で正確な日数が出ます。

一方、NOW関数は時刻の小数部分を含みます。日数計算に使うとずれが出るため、日数が必要な場合はTODAY関数を使いましょう。

まとめ

NOW関数は、現在の日付と時刻をシリアル値で自動取得する関数です。

  • 構文: =NOW() ── 引数なし。カッコだけを付ける
  • 自動更新: ファイルを開くたび・再計算のたびに最新の日時に更新される
  • 時間の加減算: =NOW()+1/24 で1時間後、=NOW()-1 で昨日の同時刻を取得
  • 固定したい場合: Ctrl+; と Ctrl+: で入力するか、値で貼り付ける
  • 実務活用: 経過時間の計算・残り時間の表示・TEXT関数での書式指定
  • 関連関数: [[2022-06-18-excel-function-howto-use-today|TODAY関数]](日付のみ)・[[2022-06-24-excel-function-howto-use-time|TIME関数]](時刻の作成)と目的に応じて使い分ける

NOW関数はシンプルですが、時刻の計算やTEXT関数との組み合わせで使い道が広がります。まずは経過時間の計算から試してみてください。

関連記事

  • [[2022-06-18-excel-function-howto-use-today|TODAY関数の使い方]]
  • [[2022-05-28-excel-function-howto-use-date|DATE関数の使い方]]
  • [[2022-06-24-excel-function-howto-use-time|TIME関数の使い方]]
  • [[2022-06-11-excel-function-howto-use-hour|HOUR関数の使い方]]
  • [[2022-06-06-excel-function-howto-use-month|MONTH関数の使い方]]
  • [[2022-06-03-excel-function-howto-use-year|YEAR関数の使い方]]
  • [[2022-06-05-excel-function-howto-use-day|DAY関数の使い方]]
  • [[2022-05-20-excel-function-howto-use-eomonth|EOMONTH関数の使い方]]
  • [[2022-11-15-excel-function-howto-use-text|TEXT関数の使い方]]
  • [[2022-07-12-excel-function-howto-use-datedif|DATEDIF関数の使い方]]
  • [[2022-06-26-excel-function-howto-use-edate|EDATE関数の使い方]]
  • [[2022-02-27-excel-function-howto-use-if|IF関数の使い方]]
  • 機能別のエクセル関数一覧
  • アルファベット順のエクセル関数一覧
  • エラー値一覧
タイトルとURLをコピーしました