Menu

Hàm TODAY và NOW trong Excel: ngày hôm nay và giờ hiện tại

=TODAY() trả về ngày hôm nay và =NOW() trả về ngày giờ hiện tại, cả hai đều cập nhật mỗi khi trang tính tính lại. Đếm số ngày còn lại tới một ngày, và chèn ngày cố định bằng Ctrl+;.

Mọi bảng tính trên trang này đều trực tiếp: đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

=TODAY() trả về ngày hôm nay và =NOW() trả về ngày giờ hiện tại. Cả hai đều không nhận đối số và đều cập nhật mỗi khi workbook tính lại, nên giá trị bạn thấy hôm nay sẽ khác vào ngày mai. Để có một ngày không bao giờ thay đổi, hãy nhấn Ctrl+; (Control+; trên Mac).

Ngày hôm nay và giờ hiện tại
A2
AB
1TODAYNOW
22026-10-042026-10-04 9:22
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Trang tính trên hiển thị ngày giờ lúc trang được tải. Mỗi lần trang tính tính lại, NOW nhảy tới phút hiện tại, còn TODAY chỉ đổi mỗi ngày một lần, vào lúc nửa đêm. Cặp ngoặc đơn là bắt buộc: =TODAY không có ngoặc sẽ trả về #NAME?.

Số ngày còn lại tới một ngày

TODAY() cũng là một số ngày như mọi giá trị ngày khác, nên lấy ngày trừ đi nó sẽ cho bạn một bộ đếm ngược. =B2-TODAY() là số ngày còn lại tới ngày trong B2, còn =TODAY()-B2 là số ngày đã trôi qua kể từ ngày đó.

Số ngày còn lại tới từng hạn chót
C2
ABCD
1TaskDeadlineDays leftStatus
2Report2026-12-3188Open
3Audit2027-03-15162Open
4Budget2025-11-30-308Overdue
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Các số trong cột C giảm đi một mỗi ngày. Hạn chót của Budget đã qua, nên số đếm của nó là số âm và trạng thái hiện Overdue. Để đếm số ngày làm việc còn lại, dùng =NETWORKDAYS(TODAY(),B2) (xem NETWORKDAYS và WORKDAY).

TODAY bên trong công thức khác

Ở bất cứ chỗ nào công thức cần một ngày, TODAY() đều có thể đóng vai ngày đó: năm hiện tại, cuối tháng này, ngày sau 30 ngày nữa, hay tuổi của một người (tính tuổi).

Các ngày dựng từ hôm nay
B4
AB
1WhatFormula
2Year2026
3Month10
4End of this month2026-10-31
5In 30 days2026-11-03
6First of this month2026-10-01
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

B5 thay đổi mỗi ngày; B3, B4 và B6 thay đổi vào ngày đầu tiên của mỗi tháng, còn B2 vào ngày 1 tháng 1. EOMONTH với -1 trả về ngày cuối cùng của tháng trước, nên cộng thêm 1 sẽ ra ngày đầu tiên của tháng này.

Giờ hiện tại không kèm ngày

NOW() lưu ngày ở phần nguyên và giờ ở phần thập phân: giữa trưa là 0,5 ngày. =MOD(NOW(),1) giữ lại phần thập phân, tức là chỉ còn giờ. Định dạng ô thành h:mm để thấy nó dưới dạng giờ đồng hồ, hoặc dùng TEXT để tạo nhãn.

Chỉ lấy giờ
A2
ABC
1TimeAs textHour
29:229:229
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

A2 là một số (một phần của ngày) được hiển thị như giờ, nên dùng được trong các phép tính thời gian; B2 là văn bản nên không dùng được. C2 là giờ dưới dạng số nguyên từ 0 đến 23.

Chèn ngày hoặc giờ không thay đổi

TODAY và NOW không hợp với những gì cần ghi lại thời điểm một việc xảy ra, như nhật ký đơn hàng hay biểu mẫu đã ký, vì sang ngày mai mọi hàng sẽ hiện ngày mai. Thay vào đó, hãy nhập một giá trị cố định:

ChènWindowsMac
Ngày hôm nayCtrl+;Control+;
Giờ hiện tạiCtrl+Shift+;Command+;
Ngày và giờCtrl+;, Space, Ctrl+Shift+;Control+;, Space, Command+;

Để cố định một công thức đã có sẵn, sao chép các ô, rồi chọn Home > Paste > Paste Values (Windows: Ctrl+Alt+V, rồi V và Enter; Mac: Control+Command+V, rồi Values). Công thức được thay bằng ngày mà nó đang hiển thị lúc đó.

Luyện tập: số ngày còn lại với một ngày cố định

Để luyện tập, trang tính dưới đây dùng một ngày mốc cố định ở E2 thay cho TODAY(), nên đáp án ngày nào cũng giống nhau. Trong workbook của riêng bạn, bạn sẽ viết TODAY() ở chỗ công thức này đọc E2.

Đến lượt bạn
C2
ABCDE
1TaskDeadlineDays leftAs of
2Launch2026-11-202026-10-01
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Đến lượt bạn: Trong C2, tính số ngày còn lại từ ngày trong E2 tới hạn chót trong B2.

Vì sao TODAY và NOW cứ thay đổi

TODAY, NOW, RAND và OFFSET là các hàm volatile (hàm biến động): Excel tính lại chúng mỗi khi có bất cứ thay đổi nào trong workbook, khi mở tệp và khi bạn nhấn F9. Nhờ vậy bộ đếm ngược luôn đúng với hiện tại, nhưng có hai tác dụng phụ:

  • Excel hỏi có lưu thay đổi không khi bạn đóng một tệp mà bạn chỉ xem, vì các ô volatile đã tính lại.
  • Workbook lớn với hàng nghìn ô TODAY() có thể bị chậm. Đặt =TODAY() ở một ô, chẳng hạn $H$1, rồi cho các công thức khác trỏ tới ô đó.

Nếu ngày hiển thị bị sai, hãy kiểm tra đồng hồ máy tính: TODAY đọc ngày của hệ thống. Nếu nó không cập nhật, có thể workbook đang ở chế độ tính toán thủ công: Formulas > Calculation Options > Automatic.

Câu hỏi thường gặp

Làm sao chèn ngày hôm nay trong Excel?

Gõ =TODAY() để có ngày tự cập nhật mỗi ngày, hoặc nhấn Ctrl+; (Control+; trên Mac) để chèn ngày hôm nay dưới dạng giá trị cố định, không bao giờ thay đổi.

Hàm TODAY và NOW trong Excel khác nhau thế nào?

=TODAY() chỉ trả về ngày, dưới dạng số nguyên ngày. =NOW() trả về ngày và giờ hiện tại, phần giờ nằm ở phần thập phân. Cả hai đều tính lại mỗi khi workbook tính lại.

Làm sao tính số ngày còn lại tới một ngày trong Excel?

Lấy ngày đó trừ đi hôm nay: =B2-TODAY(). Kết quả giảm một đơn vị mỗi ngày và chuyển sang số âm khi ngày đó đã qua.

Làm sao để TODAY() không thay đổi nữa?

Bạn không thể bắt công thức đứng yên, nhưng có thể thay nó bằng giá trị của nó: sao chép ô, rồi chọn Home > Paste > Paste Values. Hoặc ngay từ đầu, chèn ngày bằng Ctrl+;.

Làm sao chèn giờ hiện tại trong Excel?

Nhấn Ctrl+Shift+; (Command+; trên Mac) để chèn giờ dưới dạng giá trị cố định. Nếu dùng công thức, =NOW() cho cả ngày và giờ, còn =MOD(NOW(),1) chỉ cho phần giờ, định dạng h:mm.

Hình minh họa các ngôn ngữ lập trình của Coddy

Học lập trình cùng Coddy

Bắt đầu