Trong môi trường làm việc ngày nay, việc quản lý dữ liệu, lập lịch và theo dõi thời gian trong bảng tính là điều không thể thiếu. Excel, với tính linh hoạt cao, cho phép người dùng tạo công thức tùy chỉnh để tự động cập nhật ngày giờ hiện tại, giúp giảm thiểu sai sót và tiết kiệm thời gian. Bài viết này sẽ hướng dẫn chi tiết cách sử dụng các hàm lấy ngày giờ hiện tại trong Excel, kèm theo các ví dụ thực tế, mẹo tối ưu, và cách tránh những lỗi thường gặp.
Có thể bạn quan tâm: Hàm Loại Bỏ Ký Tự Trống Trong Excel: Tối Ưu Hóa Dữ Liệu Và Nâng Cao Hiệu Suất Làm Việc
Mục lục
- Tổng quan về hàm ngày giờ trong Excel
- Hàm
NOW()– lấy ngày giờ hiện tại - Hàm
TODAY()– lấy ngày hiện tại - Cách làm cho ô hiển thị ngày giờ theo định dạng tùy ý
- Cách tự động cập nhật dữ liệu khi mở file hoặc tính toán lại
- Phân biệt giữa hàm
NOW()vàTODAY()với biếnCtrl+;vàCtrl+Shift+; - Ví dụ nâng cao: Tạo lịch làm việc, tự động ghi nhận thời gian khi thay đổi ô
- Lưu trữ dữ liệu thời gian vào cơ sở dữ liệu (Excel VBA)
- Lỗi thường gặp và cách khắc phục
- Tóm tắt và lời khuyên
Có thể bạn quan tâm: Hàm Liệt Kê Các Giá Trị Trong Excel: Hướng Dẫn Chi Tiết Và Ứng Dụng Thực Tiễn
1. Tổng quan về hàm ngày giờ trong Excel
Excel cung cấp một loạt các hàm để làm việc với ngày giờ, bao gồm:
NOW(): Trả về ngày giờ hiện tại (mảng ngày + thời gian).TODAY(): Trả về ngày hiện tại (không có thời gian).DATE(),TIME(): Xây dựng giá trị ngày / giờ từ các thành phần.TEXT(): Chuyển đổi giá trị ngày giờ sang chuỗi theo định dạng.DATEDIF(): Tính khoảng thời gian giữa hai ngày.NETWORKDAYS(): Tính số ngày làm việc giữa hai ngày.
Trong bài viết này, chúng ta tập trung vào hai hàm cơ bản nhất: NOW() và TODAY(). Tuy nhiên, để tận dụng tối đa sức mạnh của Excel, chúng ta cũng sẽ kết hợp với các hàm khác như TEXT() và IF() để thực hiện các tính toán phức tạp.
Có thể bạn quan tâm: Hàm Kiểm Tra Kiểu Dữ Liệu Trong Excel: Cách Xác Định Và Xử Lý Dữ Liệu Một Cách Chính Xác
2. Hàm NOW() – lấy ngày giờ hiện tại
Cú pháp
NOW()
Hàm này không nhận đối số nào. Khi được gõ vào ô, nó sẽ trả về giá trị ngày giờ hiện tại của hệ thống máy tính.
Ví dụ thực tế
| A | B |
|---|---|
| Thời gian cập nhật | =NOW() |
| Nội dung | =NOW() |
Khi bạn mở bảng tính hoặc tính toán lại, ô B2 sẽ hiển thị ngày giờ hiện tại.
Định dạng hiển thị
Mặc định, Excel sẽ hiển thị ngày giờ theo định dạng ngắn: 10/04/2026 13:45. Để hiển thị theo định dạng khác, bạn cần thay đổi kiểu format của ô:
- Chọn ô chứa công thức
NOW(). - Vào
Home > Number > Short DatehoặcLong Date. - Hoặc nhấn
Ctrl+1→Number→Custom, nhập định dạng tùy thích, ví dụ:dd/mm/yyyy HH:mm:ss.
Cải tiến: Giữ giá trị ngày giờ cố định
Nếu bạn muốn ghi lại thời gian một lần duy nhất mà không tự động cập nhật, thì NOW() không phù hợp. Để ghi giá trị một lần, bạn có thể sử dụng tổ hợp phím Ctrl+Shift+; (đối với ngày giờ). Hoặc bạn có thể copy ô chứa NOW() rồi paste đặc biệt Values.
3. Hàm TODAY() – lấy ngày hiện tại
Cú pháp
TODAY()
Tương tự như NOW(), nhưng chỉ trả về ngày (không có thời gian).
Ví dụ thực tế
| A | B |
|---|---|
| Ngày hiện tại | =TODAY() |
Nếu bạn muốn tính tuổi, thời gian làm việc, v.v., hàm TODAY() là lựa chọn lý tưởng.
4. Cách làm cho ô hiển thị ngày giờ theo định dạng tùy ý

Có thể bạn quan tâm: Hàm Lấy Dữ Liệu Ngẫu Nhiên Trong Excel: Hướng Dẫn Chi Tiết Và Ứng Dụng Thực Tế
Excel cho phép bạn làm mọi thứ với ngày giờ, nhưng định dạng hiển thị thường là một điểm đau đầu cho người mới bắt đầu. Dưới đây là một số định dạng phổ biến:
| Định dạng | Mô tả | Ví dụ |
|---|---|---|
dd/mm/yyyy | Ngày, tháng, năm | 25/12/2026 |
mm/dd/yyyy | Tháng/ngày/năm (US) | 12/25/2026 |
yyyy-mm-dd | ISO 8601 | 2026-12-25 |
dddd, dd mmmm yyyy | Ngày trong tuần, ngày tháng năm | Monday, 25 December 2026 |
hh:mm AM/PM | Giờ, phút, AM/PM | 03:45 PM |
hh:mm:ss | Giờ, phút, giây | 15:45:30 |
Để áp dụng, vào Format Cells → Custom. Nhập chuỗi định dạng mong muốn.
5. Cách tự động cập nhật dữ liệu khi mở file hoặc tính toán lại
Mặc dù NOW() và TODAY() luôn cập nhật khi file mở hoặc tính toán lại, một số người muốn kiểm soát thời gian cập nhật. Để làm điều này, bạn có thể:
- Sử dụng tính năng
Manual calculation: VàoFormulas > Calculation Options > Manual. Khi làm việc, bạn sẽ phải nhấnF9để cập nhật. - Sử dụng VBA: Viết macro để cập nhật
NOW()vào một ô khi mở file.
Ví dụ VBA:
Private Sub Workbook_Open() Range("B2").Value = Now
End Sub
Khi mở workbook, ô B2 sẽ tự động ghi lại thời gian mở file.
6. Phân biệt giữa hàm NOW() và TODAY() với biến Ctrl+; và Ctrl+Shift+;
| Công cụ | Tác dụng | Khi nào dùng |
|---|---|---|
NOW() | Trả về ngày giờ hiện tại | Khi cần thời gian thực |
TODAY() | Trả về ngày hiện tại | Khi cần ngày mà không cần giờ |
Ctrl+; | Nhập ngày hiện tại (giữ giá trị cố định) | Khi bạn muốn ghi lại ngày một lần |
Ctrl+Shift+; | Nhập thời gian hiện tại (giữ giá trị cố định) | Khi bạn muốn ghi lại thời gian một lần |
Lưu ý:
Ctrl+;vàCtrl+Shift+;là cách nhanh nhất để ghi lại giá trị ngày/giờ cố định mà không cần công thức.
7. Ví dụ nâng cao: Tạo lịch làm việc, tự động ghi nhận thời gian khi thay đổi ô
7.1. Lịch làm việc tự động
Giả sử bạn muốn lập lịch làm việc hàng tuần, hiển thị ngày giờ bắt đầu và kết thúc, cùng với thời gian thực tế khi công việc hoàn thành.
| A | B | C | D | E |
|---|---|---|---|---|
| Tên công việc | Ngày bắt đầu | Ngày kết thúc | Thời gian thực tế | Trạng thái |
| Công việc A | =TODAY() | =TODAY()+2 | =IF(F2="Hoàn thành", NOW(), "") | Hoàn thành / Chưa hoàn thành |
- Cột D sẽ ghi lại thời gian thực tế khi bạn nhập “Hoàn thành” vào cột E. Để tự động cập nhật, bạn có thể dùng VBA:
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 5 And Target.Value = "Hoàn thành" Then Range("D" & Target.Row).Value = Now End If
End Sub
7.2. Ghi nhận thời gian khi thay đổi ô
Nếu bạn muốn ghi lại thời gian mỗi lần một ô được chỉnh sửa, hãy dùng VBA:
Private Sub Worksheet_Change(ByVal Target As Range) Dim keyCell As Range Set keyCell = Me.Range("B2") ' Ô muốn ghi thời gian If Not Intersect(Target, Me.Range("A2:A100")) Is Nothing Then keyCell.Value = Now End If
End Sub
Điều này rất hữu ích trong việc theo dõi lịch trình, ghi chú, hoặc theo dõi thời gian làm việc.
8. Lưu trữ dữ liệu thời gian vào cơ sở dữ liệu (Excel VBA)
Nếu bạn muốn xuất dữ liệu ngày giờ ra SQL Server, MySQL, hoặc bất kỳ cơ sở dữ liệu nào, bạn cần chuyển đổi giá trị Excel sang kiểu dữ liệu phù hợp.
Ví dụ: Gửi dữ liệu vào SQL Server bằng VBA:
Dim cn As Object
Set cn = CreateObject("ADODB.Connection") cn.Open "Provider=SQLOLEDB;Data Source=YOUR_SERVER;Initial Catalog=YOUR_DB;Integrated Security=SSPI;" Dim sql As String
sql = "INSERT INTO tblLog (LogDate, LogTime) VALUES (#" & Format(Now, "yyyy-mm-dd") & "#, #" & Format(Now, "HH:MM:SS") & "#)"
cn.Execute sql
cn.Close
Chú ý: Định dạng ngày giờ phải tuân theo chuẩn SQL
#yyyy-mm-dd HH:MM:SS#.
9. Lỗi thường gặp và cách khắc phục
| Lỗi | Nguyên nhân | Giải pháp |
|---|---|---|
#VALUE! khi nhập NOW() | Ô không được định dạng ngày giờ | Định dạng ô thành Date hoặc Custom |
NOW() không cập nhật | Tính toán tự động bị tắt | Vào Formulas > Calculation Options > Automatic |
NOW() trả về thời gian cũ | Đã copy giá trị và dán lại | Dùng Ctrl+Shift+; hoặc copy giá trị mới |
| Định dạng ngày giờ sai định dạng | Định dạng ngôn ngữ khác nhau | Đặt ngôn ngữ Excel hoặc sử dụng TEXT() để chuyển đổi |
10. Tóm tắt và lời khuyên
- Now(): Sử dụng khi cần thời gian thực, đồng thời luôn cập nhật khi workbook tính toán lại.
- Today(): Khi chỉ cần ngày.
- Ctrl+; & Ctrl+Shift+;: Khi cần ghi lại giá trị ngày/giờ một lần, không tự động cập nhật.
- Định dạng tùy chỉnh: Dùng
Format Cells→Customđể hiển thị theo ý muốn. - VBA: Dùng khi cần ghi lại thời gian khi thay đổi ô hoặc khi mở file.
Lời khuyên cuối cùng: Đối với các báo cáo thường xuyên, hãy cân nhắc đặt công thức NOW() trong một ô riêng và sử dụng INDIRECT() hoặc công thức tham chiếu để truyền giá trị này vào các phần khác, tránh tình trạng NOW() thay đổi khi bạn thực hiện tính toán lại.
Với những kiến thức và ví dụ trên, bạn đã có thể linh hoạt sử dụng hàm lấy ngày giờ hiện tại trong Excel, tối ưu hoá quy trình làm việc, và giảm thiểu sai sót trong quản lý dữ liệu. Happy Excel!

Tiến sĩ Lê Thống Nhất sinh năm 1955 tại Nghệ An, là nhà giáo, nhà báo và doanh nhân trong lĩnh vực giáo dục. Ông từng giảng dạy Toán học tại Trường THPT Chuyên Phan Bội Châu và đảm nhiệm nhiều vai trò trong ngành giáo dục, từ viết sách, biên soạn tài liệu đến sáng lập các dự án hỗ trợ học tập trực tuyến.
Ông là người sáng lập BigSchool – nền tảng giáo dục trực tuyến kết nối giáo viên và học sinh cả nước. Ngoài ra, ông còn nổi tiếng với vai trò tác giả, diễn giả truyền cảm hứng và khách mời trên nhiều chương trình truyền hình, trong đó có “Ai là triệu phú” trên truyền hình VTV.
Trong suốt sự nghiệp, Tiến sĩ Lê Thống Nhất đã nhận nhiều giải thưởng giáo dục và được biết đến như một người luôn đổi mới, ứng dụng công nghệ vào dạy và học, góp phần lan tỏa tri thức và niềm say mê học tập cho thế hệ trẻ.
