TODAYとNOWで最新の日付を扱う
TODAYとNOWで現在の日付と時刻を入力します。
「TODAYとNOWで最新の日付を扱う」はCoddyKit上の無料Excel Formulas Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはExcel Formulas Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Excel Formulas Academyコースには全4レッスンが含まれています。
日付は実際には数値です
セルに今日の日付を表示する前に、知っておくとよい秘密があります。スプレッドシートでは日付が数値として保存されています。各日は、ある起点から数えられます。ExcelとGoogle Sheetsでは、数値1が固定された最初の日を表し、それ以降の日は1ずつ増えます。
そのため、2つの日付を引き算して日数を数えられます。画面に表示される見やすいMM/DD/YYYYは、単純な数値に書式を重ねて表示したものにすぎません。
このレッスンでは、スプレッドシートに現在の日時を尋ねる2つの関数、TODAY()とNOW()を学びます。
TODAY関数を使う
TODAY()関数は、時刻を含まない現在の日付を返します。引数は一切必要ないため、かっこは空になっています。
任意のセルに入力してEnterキーを押してください。セルに今日の日付が入り、自動的に日付として表示されます。
入力値がなくても、空の()は必ず含める必要があります。=TODAYとだけ入力すると、関数呼び出しではなく名前として扱われます。
=TODAY()TODAYは自動的に更新される
TODAY()の最も重要な特徴は、常に最新の値になることです。これは揮発性関数であり、ファイルを開いたときや、変更によって再計算が必要になったときにスプレッドシートが再計算します。
今日レポートを作成して来週開いた場合、=TODAY()を設定したすべてのセルに、新しい日付が自動的に表示されます。数式を編集する必要はありません。
そのため、常に最新の状態にしたいレポート生成日:のような見出しに最適です。
="Report generated on: "&TEXT(TODAY(),"MMM D, YYYY")NOW関数を使う
日付だけでなく時刻も必要な場合があります。NOW()関数は、現在の日付と時刻を1つの値として返します。
TODAYと同じく引数は必要ないため、空のかっこを記述します。内部の数値では、整数部分が日を、小数部分が時刻を表します。
たとえば、1日の割合としての0.5は正午を表します。正午は24時間のちょうど半分だからです。
=NOW()時刻だけを表示する
NOW()には日付と時刻の両方が含まれているため、必要な部分だけが表示されるようにセルの書式を設定できます。h:mm AM/PMのような時刻の書式を適用すると、日付部分は内部に保持されたまま表示されなくなります。
整数部分を引き算して、時刻の小数部分だけを残すこともできます。INT関数は小数部分を取り除くため、NOW()-INT(NOW())では時刻だけが残ります。
=NOW()-INT(NOW())TODAYとNOWの違い
基本的な使い分けは次のとおりです。
TODAY()は日付だけ(当日の午前0時)を返します。NOW()は日付と現在の時刻を返します。
日数を数えたり、カレンダーの日付を記録したりするだけならTODAYを使います。タイムスタンプのように正確な時点を記録する場合はNOWを使います。
どちらも揮発性関数であるため、自動的に更新されます。
例題: 締め切りまでの日数
セルB2にプロジェクトの締め切りが正しい日付として入力されているとします。今日から数えて、残り日数を常に表示するセルを作りたいとします。
締め切りの日付から今日の日付を引きます。日付は数値なので、結果は単純な日数になり、毎日自動的に更新されます。
締め切りまで10日ある場合、セルには10と表示されます。翌日には、何も編集しなくても9と表示されます。
=B2-TODAY()今日に日数を加える
日付は数値なので、TODAY()に日数を直接加算できます。これは期限日の設定に便利です。
1週間後の日付を求めるには7を加えます。30日後なら30を加えます。結果は自動的に日付として表示されます。
この方法は実際のスプレッドシートでよく使われます。請求書の支払期限、フォローアップのリマインダー、試用期間の終了日は、いずれもTODAYに日数を加える方法で設定できます。
=TODAY()+30日付が変わらないようにする
TODAYとNOWは常に更新されるため、何かが起きた日時を記録して固定したい場合には適していません。
固定されたタイムスタンプを作成するには、値を一度入力して固定値に変換します。Excelでは、ショートカットCtrl + ;で固定された日付を入力し、Ctrl + Shift + ;で固定された時刻を入力できます。
このように直接入力した値は、ライブ関数とは異なり、決して変化しません。
応用例: 自動更新されるダッシュボードの見出し
ここまでの考え方を組み合わせて、整った見出しを作ってみましょう。&演算子とTEXT関数を使い、文字列と自動更新される日付を連結して、日付を読みやすく表示します。
TEXT関数は、数値を表示形式で包みます。ここでは"DDDD, MMMM D"によって曜日と月を完全な形で表示します。たとえば水曜日、6月18日のようになります。
ファイルを開くたびに、見出し全体が毎日自動的に更新されます。
="Sales Dashboard — "&TEXT(TODAY(),"DDDD, MMMM D")再計算に注意
新しいユーザーが驚きやすい点があります。NOW()のような揮発性関数は、一定の間隔で更新されるのではなく、シート内で何かが再計算されるたびに更新されます。
そのため、あるセルに=NOW()と入力してから別の場所に値を入力すると、タイムスタンプは新しい現在時刻に変わります。時計のように時刻を刻むのではなく、再計算時に更新される仕組みです。
本当の意味で動き続ける時計が必要な場合は、スクリプトやマクロが必要になります。通常の数式だけでは実現できません。
確認テスト
現在日時を扱う関数について学んだことを確認しましょう。
まとめ:自動更新される日付
現在の時刻をセルに入力する方法を学びました。
- スプレッドシートでは日付が数値として保存されるため、足し算や引き算ができます。
TODAY()は日付のみを返し、自動的に更新されます。NOW()は日付と時刻を返し、同じく揮発性関数です。- 期限日には、
=TODAY()+30のように日数を直接加算できます。 - 固定されたタイムスタンプが必要な場合は、ライブ関数ではなくCtrl + ;で静的な値を入力します。
次は、日付から個別の要素を取り出す方法を学びます。
AI チューターと学ぶ Excel — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 30
- レッスン
- 120
よくある質問
「TODAYとNOWで最新の日付を扱う」レッスンは無料ですか?
はい。「TODAYとNOWで最新の日付を扱う」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Excel Formulas Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Excel Formulas Academyコースには全4レッスンが含まれています。
「TODAYとNOWで最新の日付を扱う」で何を学びますか?
TODAYとNOWで現在の日付と時刻を入力します。 ブラウザで直接実行するハンズオンコードでExcel Formulas Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Excel Formulas Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのExcel Formulas Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「TODAYとNOWで最新の日付を扱う」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このExcel Formulas Academyレッスンでコードを書いて実行できますか?
はい。すべてのExcel Formulas Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- TODAYとNOWで最新の日付を扱う
- YEAR、MONTH、DAYで日付を分解する
- DATEとEDATEで日付を作成する
- 日付間の日数を数える