Tổng hợp 8 hàm thời gian quan trọng nhất trong Excel giúp dân văn phòng quản lý deadline, tính ngày làm việc, đếm thời hạn và tự động cảnh báo task quá hạn.
Tại Sao Hàm Thời Gian Quan Trọng Trong Công Việc Văn Phòng?
Trong môi trường văn phòng, thời gian là tài nguyên quý giá nhất. Bạn thường xuyên cần:
-
Tính toán ngày hoàn thành dự án
-
Đếm số ngày còn lại đến deadline
-
Xác định ngày hết hạn bảo hành
-
Lên lịch họp, gửi email nhắc nhở
-
Tính lương theo ngày công
8 hàm thời gian trong bài viết này sẽ giúp bạn giải quyết tất cả các vấn đề trên.
Tổng Quan 8 Hàm Thời Gian
| Hàm | Chức năng | Ví dụ sử dụng |
|---|---|---|
| TODAY | Lấy ngày hiện tại | Đếm số ngày còn lại |
| NOW | Lấy ngày giờ hiện tại | Tính thời gian thực |
| DATE | Tạo ngày từ năm, tháng, ngày | Tạo deadline |
| DATEDIF | Tính khoảng cách giữa 2 ngày | Tính thâm niên |
| NETWORKDAYS | Đếm ngày làm việc | Tính ngày dự kiến hoàn thành |
| WORKDAY | Tính ngày làm việc tương lai | Đặt deadline |
| WEEKDAY | Xác định ngày trong tuần | Lên lịch họp |
| EOMONTH | Lấy ngày cuối tháng | Báo cáo cuối kỳ |
Hàm 1: TODAY - Lấy Ngày Hiện Tại
Khái niệm
TODAY() trả về ngày hiện tại theo định dạng ngày tháng của hệ thống. Hàm này tự động cập nhật khi mở file.
Cú pháp
=TODAY()
Lưu ý: Không có tham số nào trong hàm.
Ví dụ sử dụng
Tính số ngày còn lại đến deadline:
=A2-TODAY()
Trong đó A2 chứa ngày deadline.
Ví dụ thực tế:
| A | B | C | |
|---|---|---|---|
| 1 | Deadline | Còn lại (ngày) | Trạng thái |
| 2 | 31/01/2024 | =A2-TODAY() | =IF(C2<0,"Quá hạn",IF(C2<7,"Sắp đến","Bình thường")) |
Lưu ý quan trọng
-
Hàm TODAY() tự động thay đổi mỗi ngày
-
Nếu muốn "đóng băng" giá trị, copy cell và Paste Special > Values
Hàm 2: NOW - Lấy Ngày Giờ Hiện Tại
Khái niệm
NOW() trả về cả ngày và giờ hiện tại.
Cú pháp
=NOW()
Ví dụ sử dụng
Tính số giờ còn lại đến hạn nộp:
=(A2-NOW())*24
Hiển thị ngày giờ hiện tại:
="Báo cáo lúc: "&TEXT(NOW(),"dd/mm/yyyy hh:mm")
So sánh với TODAY()
| TODAY() | NOW() |
|---|---|
| Chỉ có ngày | Ngày + giờ |
| Phù hợp tính theo ngày | Phù hợp tính theo giờ |
| Ít tốn bộ nhớ hơn | Tốn bộ nhớ hơn |
Hàm 3: DATE - Tạo Ngày Từ Các Thành Phần
Khái niệm
DATE() tạo ra một giá trị ngày từ 3 tham số: năm, tháng, ngày.
Cú pháp
=DATE(year, month, day)
-
year: Năm (1900-9999)
-
month: Tháng (1-12, có thể lớn hơn 12)
-
day: Ngày (1-31, có thể lớn hơn số ngày trong tháng)
Ví dụ sử dụng
Từ dữ liệu rời rạc tạo thành ngày:
=DATE(2024, 1, 15) → Kết quả: 15/01/2024
Tính ngày hết hạn bảo hành (12 tháng từ ngày mua):
=DATE(YEAR(A2), MONTH(A2)+12, DAY(A2))
Tính ngày hết hạn hợp đồng (theo số tháng):
=DATE(YEAR(A2), MONTH(A2)+B2, DAY(A2)-1)
Trong đó B2 chứa số tháng hiệu lực.
Mẹo sử dụng
-
month > 12: Excel tự động cộng sang năm sau
-
DATE(2024, 13, 1) = 01/01/2025
-
-
day > số ngày trong tháng: Excel tự động sang tháng sau
-
DATE(2024, 1, 32) = 01/02/2024
-
Hàm 4: DATEDIF - Tính Khoảng Cách Giữa Hai Ngày
Khái niệm
DATEDIF() tính số ngày, tháng hoặc năm giữa hai ngày.
Cú pháp
=DATEDIF(start_date, end_date, unit)
-
start_date: Ngày bắt đầu
-
end_date: Ngày kết thúc
-
unit: Đơn vị tính
-
"D": Ngày
-
"M": Tháng
-
"Y": Năm
-
"MD": Ngày bỏ qua tháng/năm
-
"YM": Tháng bỏ qua năm
-
"YD": Ngày bỏ qua năm
-
Ví dụ sử dụng
Tính thâm niên nhân viên:
=DATEDIF(A2, TODAY(), "Y")&" năm "&DATEDIF(A2, TODAY(), "YM")&" tháng"
Tính tuổi:
=DATEDIF(A2, TODAY(), "Y")
Tính số ngày còn lại trong năm:
=DATEDIF(TODAY(), DATE(YEAR(TODAY())+1,1,1), "D")
Lưu ý
-
start_date phải nhỏ hơn end_date
-
Hàm này "ẩn" trong Excel - không hiển thị trong danh sách hàm
Hàm 5: NETWORKDAYS - Đếm Ngày Làm Việc
Khái niệm
NETWORKDAYS() đếm số ngày làm việc (thứ 2 đến thứ 7) trong một khoảng thời gian, có thể loại trừ ngày nghỉ lễ.
Cú pháp
=NETWORKDAYS(start_date, end_date, [holidays])
-
start_date: Ngày bắt đầu
-
end_date: Ngày kết thúc
-
holidays: (Tùy chọn) Danh sách ngày nghỉ lễ
Ví dụ sử dụng
Đếm số ngày làm việc còn lại đến deadline:
=NETWORKDAYS(TODAY(), A2)
Tính số ngày công trong tháng:
=NETWORKDAYS(DATE(2024,1,1), DATE(2024,1,31), F2:F10)
Trong đó F2:F10 là danh sách ngày nghỉ lễ.
Ví dụ thực tế: Lên lịch dự án
| A | B | C | |
|---|---|---|---|
| 1 | Task | Ngày bắt đầu | Ngày dự kiến hoàn thành |
| 2 | Khảo sát | 01/01/2024 | =B2+NETWORKDAYS(B2, B2+20)-1 |
| 3 | Thiết kế | =C2+1 | =B3+NETWORKDAYS(B3, B3+30)-1 |
Hàm 6: WORKDAY - Tính Ngày Làm Việc Tương Lai
Khái niệm
WORKDAY() trả về ngày làm việc sau một số ngày nhất định.
Cú pháp
=WORKDAY(start_date, days, [holidays])
-
start_date: Ngày bắt đầu
-
days: Số ngày làm việc muốn cộng
-
holidays: (Tùy chọn) Danh sách ngày nghỉ
Ví dụ sử dụng
Tính deadline sau 10 ngày làm việc:
=WORKDAY(TODAY(), 10)
Tính hạn nộp sau 5 ngày làm việc (loại trừ lễ):
=WORKDAY(TODAY(), 5, G2:G8)
Gửi email nhắc nhở trước 3 ngày hết hạn:
=WORKDAY(A2, -3)
So sánh NETWORKDAYS và WORKDAY
| NETWORKDAYS | WORKDAY |
|---|---|
| Đếm số ngày | Tính ngày kết quả |
| =NETWORKDAYS(1/1, 15/1) = 11 | =WORKDAY(1/1, 10) = 15/1 |
Hàm 7: WEEKDAY - Xác Định Ngày Trong Tuần
Khái niệm
WEEKDAY() trả về số thứ tự của ngày trong tuần.
Cú pháp
=WEEKDAY(serial_number, [return_type])
-
serial_number: Ngày cần kiểm tra
-
return_type: Cách đánh số
-
1 (mặc định): CN=1, T2=2, ..., T7=7
-
2: T2=1, T3=2, ..., CN=7
-
3: T2=0, T3=1, ..., CN=6
-
Ví dụ sử dụng
Kiểm tra có phải ngày làm việc không:
=IF(WEEKDAY(A2,2)>5, "Cuối tuần", "Ngày làm việc")
Phân loại ngày trong tuần:
=CHOOSE(WEEKDAY(A2,2),"Thứ 2","Thứ 3","Thứ 4","Thứ 5","Thứ 6","Thứ 7","Chủ nhật")
Tính số ngày cuối tuần trong khoảng:
=DATEDIF(A2,B2,"D")-NETWORKDAYS(A2,B2)+1
Hàm 8: EOMONTH - Lấy Ngày Cuối Tháng
Khái niệm
EOMONTH() trả về ngày cuối cùng của tháng trước hoặc sau một số tháng nhất định.
Cú pháp
=EOMONTH(start_date, months)
-
start_date: Ngày tham chiếu
-
months: Số tháng muốn dịch chuyển (-1: tháng trước, 0: tháng hiện tại, 1: tháng sau)
Ví dụ sử dụng
Lấy ngày cuối tháng hiện tại:
=EOMONTH(TODAY(), 0)
Lấy ngày cuối tháng trước:
=EOMONTH(TODAY(), -1)
Tính hạn thanh toán cuối tháng:
=EOMONTH(A2, 0)
Tính hạn bảo hành (6 tháng):
=EOMONTH(A2, 6)
Ứng dụng thực tế
-
Tính ngày hết hạn thanh toán cuối tháng
-
Tạo báo cáo cuối kỳ
-
Đặt deadline thanh toán
Kết Hợp Hàm Thời Gian Với Conditional Formatting
Tạo cảnh báo deadline tự động
Bước 1: Chọn vùng dữ liệu deadline
Bước 2: Conditional Formatting → New Rule
Bước 3: Sử dụng công thức:
Quá hạn (đỏ):
=A2
Sắp hết hạn trong 3 ngày (vàng):
=AND(A2>=TODAY(), A2<=TODAY()+3)
Còn nhiều thời gian (xanh):
=A2>TODAY()+7
Các Lỗi Thường Gặp Và Cách Khắc Phục
Lỗi 1: Hiển thị số thay vì ngày
Nguyên nhân: Định dạng ô không phải Date
Khắc phục: Format Cells → Date
Lỗi 2: Kết quả #VALUE!
Nguyên nhân: Tham số không phải ngày hợp lệ
Khắc phục: Kiểm tra dữ liệu đầu vào
Lỗi 3: Ngày hiển thị dạng số serial
Nguyên nhân: Định dạng ô General hoặc Number
Khắc phục: Đổi sang định dạng Date
Lỗi 4: NETWORKDAYS/WORKDAY không loại trừ lễ
Nguyên nhân: Chưa nhập vùng holidays
Khắc phục: Thêm tham số thứ 3 với danh sách ngày nghỉ
Template Quản Lý Deadline Sẵn Dùng
Bảng quản lý task với cảnh báo tự động
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Task | Deadline | Còn lại | Trạng thái | Ghi chú |
| 2 | Report Q1 | =DATE(2024,3,31) | =B2-TODAY() | =IF(D2<0,"Quá hạn",IF(D2<7,"Sắp đến","Bình thường")) | =IF(D2<0,"Cần xử lý ngay",IF(D2<3,"Nhắc nhở","")) |
Kết Luận
8 hàm thời gian này là "vũ khí" không thể thiếu cho dân văn phòng:
-
TODAY/NOW: Tham chiếu thời gian thực
-
DATE: Tạo ngày linh hoạt
-
DATEDIF: Tính khoảng cách ngày
-
NETWORKDAYS/WORKDAY: Xử lý ngày làm việc
-
WEEKDAY: Phân loại ngày trong tuần
-
EOMONTH: Làm việc với cuối tháng
Luyện tập ngay với dữ liệu thực tế từ công việc hàng ngày của bạn!
Redus AI
Tác giả tại Redus AI