Hàm Lấy Ngày Giờ Hiện Tại Trong Excel: Cách Thực Hiện Và Ứng Dụng Thực Tiễn

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.

Mục lục

  1. Tổng quan về hàm ngày giờ trong Excel
  2. Hàm NOW() – lấy ngày giờ hiện tại
  3. Hàm TODAY() – lấy ngày hiện tại
  4. Cách làm cho ô hiển thị ngày giờ theo định dạng tùy ý
  5. Cách tự động cập nhật dữ liệu khi mở file hoặc tính toán lại
  6. Phân biệt giữa hàm NOW() và TODAY() với biến Ctrl+; và Ctrl+Shift+;
  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 ô
  8. Lưu trữ dữ liệu thời gian vào cơ sở dữ liệu (Excel VBA)
  9. Lỗi thường gặp và cách khắc phục
  10. Tóm tắt và lời khuyê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.

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ế

AB
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 ô:

  1. Chọn ô chứa công thức NOW().
  2. Vào Home > Number > Short Date hoặc Long Date.
  3. 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ế

AB
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 ý

Hàm Lấy Ngày Giờ Hiện Tại Trong Excel
Hàm Lấy Ngày Giờ Hiện Tại Trong Excel

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ạngMô tảVí dụ
dd/mm/yyyyNgày, tháng, năm25/12/2026
mm/dd/yyyyTháng/ngày/năm (US)12/25/2026
yyyy-mm-ddISO 86012026-12-25
dddd, dd mmmm yyyyNgày trong tuần, ngày tháng nămMonday, 25 December 2026
hh:mm AM/PMGiờ, phút, AM/PM03:45 PM
hh:mm:ssGiờ, phút, giây15: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ào Formulas > Calculation Options > Manual. Khi làm việc, bạn sẽ phải nhấn F9 để 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ụngKhi nào dùng
NOW()Trả về ngày giờ hiện tạiKhi cần thời gian thực
TODAY()Trả về ngày hiện tạiKhi 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.

ABCDE
Tên công việcNgày bắt đầuNgày kết thúcThờ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ỗiNguyên nhânGiả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ậtTính toán tự động bị tắtVào Formulas > Calculation Options > Automatic
NOW() trả về thời gian cũĐã copy giá trị và dán lạiDù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!

⚠️
LƯU Ý QUAN TRỌNG: Miễn trừ trách nhiệm: Mặc dù chúng tôi luôn nỗ lực để đảm bảo tính chính xác và cập nhật của thông tin, nhưng các quy định về giáo dục và tuyển sinh có thể thay đổi theo thời gian. BigSchool không chịu trách nhiệm về bất kỳ sai sót nào hoặc kết quả phát sinh từ việc sử dụng thông tin trên trang này. Độc giả nên liên hệ trực tiếp với nhà trường hoặc cơ quan chức năng để có thông tin mới nhất. Ngoài ra, BigSchool tuyệt đối không bán sản phẩm, khóa học hay cung cấp dịch vụ được nhắc đến trong bài.

Viết một bình luận