Cách dùng hàm ngày tháng TODAY, DATEDIF trong Excel kèm ví dụ thực tế

Hướng dẫn hàm TODAY, NOW và DATEDIF trong Excel: tính tuổi, thâm niên, số ngày còn lại của hợp đồng, kèm công thức mẫu và cách sửa lỗi #NUM!, #VALUE!.
Trong công việc văn phòng, kế toán, nhân sự, bạn thường cần tính tuổi, thâm niên, số ngày còn lại tới hạn thanh toán hay hạn hợp đồng. Excel làm được tất cả những việc này bằng vài hàm ngày tháng, trong đó TODAY lấy ngày hiện tại và DATEDIF tính khoảng cách giữa hai ngày theo ngày, tháng hoặc năm.
Bài này giải thích cách dùng từng hàm, kèm các công thức mẫu có thể chép dùng ngay, và những lỗi hay gặp mà người mới dễ vướng.
Hiểu cách Excel lưu ngày tháng
Excel lưu mỗi ngày là một số nguyên, tính từ một ngày gốc. Nhờ vậy bạn có thể cộng trừ ngày như số bình thường. Ví dụ ngày mai là hôm nay cộng 1. Điều này cũng có nghĩa: ô chứa ngày cần là ngày thật chứ không phải chữ trông giống ngày.
Cách kiểm tra: ô ngày thật mặc định căn lề phải, còn chữ thường căn lề trái. Nếu ô của bạn căn trái, hãy nhập lại theo định dạng ngày/tháng/năm của máy, ví dụ 15/03/2024, hoặc dùng Data > Text to Columns để chuyển.
Hàm TODAY: lấy ngày hôm nay
Cú pháp: =TODAY(). Hàm không có đối số, mỗi lần mở file hay tính lại bảng tính thì kết quả cập nhật theo ngày thực.
Các cách dùng hay gặp:
- =TODAY(): hiện ngày hôm nay.
- =TODAY()+30: ngày sau hôm nay 30 ngày, ví dụ tính hạn thanh toán.
- =B2-TODAY(): số ngày còn lại từ hôm nay tới ngày trong ô B2 (nếu B2 là hạn hợp đồng).
Nếu cần cả giờ, dùng =NOW(). Cả hai hàm đều tự thay đổi khi mở file, nên không dùng để ghi ngày cố định như ngày lập hóa đơn. Muốn nhập ngày hiện tại và giữ nguyên, nhấn Ctrl + ; (dấu chấm phẩy) trong ô.
Hàm DATEDIF: tính khoảng cách giữa hai ngày
Cú pháp: =DATEDIF(ngày_bắt_đầu, ngày_kết_thúc, "đơn_vị")
Đơn vị đặt trong dấu ngoặc kép:
- "Y": số năm tròn
- "M": số tháng tròn
- "D": số ngày
- "YM": số tháng lẻ sau khi đã trừ năm tròn
- "YD": số ngày lẻ sau khi trừ năm tròn
Lưu ý DATEDIF là hàm "ẩn": khi gõ =DATE Excel không gợi ý DATEDIF, nhưng hàm vẫn hoạt động nếu bạn gõ đầy đủ. Ngày bắt đầu phải nhỏ hơn hoặc bằng ngày kết thúc, nếu không bị lỗi #NUM!.
Ví dụ 1: Tính tuổi
Giả sử ngày sinh nằm ở ô B2. Công thức tuổi hiện tại:
=DATEDIF(B2, TODAY(), "Y")
Kết quả là số tuổi tròn hôm nay. Mỗi lần mở file, tuổi tự cập nhật theo ngày.
Ví dụ 2: Tính thâm niên theo năm và tháng
Ngày vào làm ở ô C2. Để hiển thị dạng "X năm Y tháng", dùng:
=DATEDIF(C2, TODAY(), "Y") & " năm " & DATEDIF(C2, TODAY(), "YM") & " tháng"
Dấu & nối các phần chữ và số lại với nhau.
Ví dụ 3: Số ngày giữa hai mốc
Ngày bắt đầu ở D2, ngày kết thúc ở E2:
=DATEDIF(D2, E2, "D")
Bạn cũng có thể dùng phép trừ đơn giản =E2-D2 và định dạng ô là Number, cho kết quả tương tự.
Ví dụ 4: Cảnh báo hợp đồng sắp hết hạn
Ngày hết hạn ở F2. Công thức hiển thị chữ cảnh báo nếu còn dưới 30 ngày:
=IF(F2-TODAY()<0, "Đã hết hạn", IF(F2-TODAY()<=30, "Sắp hết hạn", "Còn hạn"))
Bạn có thể kết hợp thêm Conditional Formatting (Định dạng có điều kiện) để tô đỏ các ô sắp hết hạn trong tab Home.
Các bước nhập công thức
- Mở file Excel, nhấp chuột vào ô muốn hiện kết quả.
- Gõ dấu = rồi công thức, ví dụ =DATEDIF(B2, TODAY(), "Y").
- Nhấn Enter.
- Để áp dụng cho cả cột, đưa chuột tới góc phải dưới của ô kết quả, khi con trỏ thành dấu cộng nhỏ thì kéo xuống hoặc nhấp đúp.
Lỗi thường gặp và cách sửa
Lỗi #NUM!
Thường do ngày bắt đầu lớn hơn ngày kết thúc. Kiểm tra thứ tự hai ngày. Có thể dùng =IF(B2>TODAY(), "", DATEDIF(B2,TODAY(),"Y")) để bỏ trống khi ngày chưa tới.
Lỗi #VALUE!
Ô ngày là chữ, không phải ngày thật. Nhập lại theo đúng định dạng ngày, hoặc dùng hàm DATEVALUE để chuyển.
Công thức báo lỗi hoặc không chạy
Tùy cài đặt vùng, Excel có thể yêu cầu dùng dấu chấm phẩy ; thay cho dấu phẩy , để ngăn cách các đối số. Nếu công thức không được chấp nhận, thử đổi dấu phân cách.
Kết quả hiện số lạ như 45000
Ô đang bị định dạng sai. Chọn ô, vào Home > Number Format (Định dạng số) và chọn Date nếu muốn hiện ngày, hoặc General/Number nếu muốn hiện số.
Hạn chế của đơn vị "MD"
Đơn vị "MD" (số ngày lẻ sau khi trừ tháng) được biết là có thể cho kết quả không chính xác trong một số trường hợp, nên nên tránh dùng cho công việc quan trọng.
Một số hàm ngày tháng hữu ích khác
- DAY, MONTH, YEAR: tách ngày, tháng, năm ra từng phần.
- EDATE(ngày, n): cộng hoặc trừ n tháng.
- EOMONTH(ngày, n): ngày cuối của tháng sau n tháng.
- NETWORKDAYS(bắt_đầu, kết_thúc): số ngày làm việc (trừ thứ Bảy, Chủ Nhật).
- WEEKDAY(ngày): ngày đó là thứ mấy.
Làm việc với file Excel an toàn
Sau khi xây xong bảng theo dõi ngày hạn, đừng quên sao lưu file và đặt mật khẩu nếu chứa dữ liệu nhạy cảm. Xem cách đặt mật khẩu cho file Word, Excel và cách sao lưu dữ liệu máy tính an toàn. Nếu bảng tính của bạn ngày càng phức tạp, có thể xem cấu hình PC kế toán chạy MISA, Excel nặng mượt để máy không bị chậm. Với cửa hàng muốn theo dõi công nợ, hạn thanh toán tự động, phần mềm bán hàng Quầy Việt PRO có sổ nợ và báo cáo, thay cho bảng Excel thủ công.
Cần hỗ trợ thêm?
Nếu bảng tính của bạn cần công thức phức tạp hơn hoặc muốn tự động hóa quy trình, hãy xem phần mềm theo yêu cầu hoặc gọi hotline 0943.847.333 để được tư vấn.
Câu hỏi thường gặp
Hàm TODAY trong Excel dùng để làm gì?
TODAY trả về ngày hiện tại và tự cập nhật mỗi khi mở file hoặc tính lại bảng tính. Cú pháp là =TODAY(), không có đối số.
Cách tính tuổi trong Excel từ ngày sinh?
Dùng công thức =DATEDIF(ô ngày sinh, TODAY(), "Y"). Kết quả là số tuổi tròn tính đến hôm nay.
Vì sao DATEDIF không hiện gợi ý khi gõ?
DATEDIF là hàm ẩn trong Excel, không có trong danh sách gợi ý nhưng vẫn dùng bình thường nếu bạn gõ đầy đủ công thức.
Lỗi #NUM! khi dùng DATEDIF là do đâu?
Thường do ngày bắt đầu lớn hơn ngày kết thúc. Hãy kiểm tra thứ tự hai ngày hoặc dùng IF để bỏ trống khi ngày chưa tới.





