=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).
| A | B | |
|---|---|---|
| 1 | TODAY | NOW |
| 2 | 2026-10-04 | 2026-10-04 9:22 |
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 đó.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Task | Deadline | Days left | Status |
| 2 | Report | 2026-12-31 | 88 | Open |
| 3 | Audit | 2027-03-15 | 162 | Open |
| 4 | Budget | 2025-11-30 | -308 | Overdue |
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).
| A | B | |
|---|---|---|
| 1 | What | Formula |
| 2 | Year | 2026 |
| 3 | Month | 10 |
| 4 | End of this month | 2026-10-31 |
| 5 | In 30 days | 2026-11-03 |
| 6 | First of this month | 2026-10-01 |
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.
| A | B | C | |
|---|---|---|---|
| 1 | Time | As text | Hour |
| 2 | 9:22 | 9:22 | 9 |
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èn | Windows | Mac |
|---|---|---|
| Ngày hôm nay | Ctrl+; | Control+; |
| Giờ hiện tại | Ctrl+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.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Task | Deadline | Days left | As of | |
| 2 | Launch | 2026-11-20 | 2026-10-01 |
Đế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.