Có thể bạn quan tâm: Cách Sử Dụng Hàm If Trong Excel Để Xếp Loại
Giới thiệu
Trong công việc quản lý dữ liệu, lập kế hoạch dự án, tính lãi vay hay đơn giản là theo dõi thời gian thực hiện vuod, việc tính toán số ngày giữa hai thời điểm là một chức năng cơ bản nhưng rất quan trọng. Excel, với bộ công cụ tính toán mạnh mẽ và linh hoạt, cho phép chúng ta thực hiện việc này một cách nhanh chóng và chính xác. Bài viết dưới đây sẽ hướng dẫn chi tiết các phương pháp tính số ngày giữa hai thời điểm trong Excel, từ các hàm cơ bản như DATEDIF và DATE cho tới các hàm nâng cao như NETWORKDAYS, NETWORKDAYS.INTL, cách xử lý ngày giờ, ngày lễ, điều kiện đặc biệt và những mẹo tránh lỗi phổ biến.
Lưu ý: Dưới đây là một số quy tắc cơ bản khi làm việc với ngày trong Excel:
– Excel lưu trữ ngày dưới dạng số nguyên (serial number) bắt đầu từ ngày 1/1/1900 (Windows) hay 1/1/1904 (Mac). Khi tính toán, Excel sẽ tự động chuyển đổi số này thành ngày tháng.
– Định dạng ô ngày (Date) quyết định cách hiển thị ngày, nhưng giá trị thực tế vẫn là số serial.
– Khi nhập ngày, hãy đảm bảo định dạng nhập đúng (mm/dd/yyyy hoặc dd/mm/yyyy) hoặc nhập theo chuỗi ký tự"dd/mm/yyyy"để tránh nhầm lẫn.
Có thể bạn quan tâm: Cách Nhập Dữ Liệu Từ Excel Vào Phần Mềm Misa: Hướng Dẫn Chi Tiết Và Lưu Ý
1. Sử dụng hàm DATEDIF
1.1 Cú pháp
=DATEDIF(ngày_bắt_đầu, ngày_kết_thúc, "đơn_vị")
- ngày_bắt_đầu: Ô chứa ngày bắt đầu hoặc giá trị ngày.
- ngày_kết_thúc: Ô chứa ngày kết thúc hoặc giá trị ngày.
- đơn_vị: Chuỗi ký tự chỉ định đơn vị tính:
"d": số ngày hoàn toàn."m": số tháng hoàn toàn."y": số năm hoàn toàn.
1.2 Ví dụ thực tế
| A | B | C |
|---|---|---|
| Ngày bắt đầu | Ngày kết thúc | Số ngày |
| 01/03/2026 | 15/03/2026 | =DATEDIF(A2,B2,”d”) |
Kết quả: 14
1.3 Lưu ý khi dùng DATEDIF
- Hàm
DATEDIFkhông hiển thị trong danh sách hàm của Excel, nhưng vẫn hoạt động. Bạn có thể gõ thủ công. - Nếu ngày kết thúc nhỏ hơn ngày bắt đầu,
DATEDIFsẽ trả về lỗi#NUM!. Bạn có thể bảo vệ bằngIF:
=IF(B2>=A2,DATEDIF(A2,B2,"d"),0)
Có thể bạn quan tâm: Cách Lập Bảng Tính Giá Thành Sản Phẩm Trên Excel
2. Sử dụng phép trừ trực tiếp
Excel cho phép trừ hai ô chứa ngày:
=B2-A2
Kết quả trả về số ngày (serial number). Nếu muốn hiển thị dưới dạng số nguyên, bạn có thể sử dụng INT:
=INT(B2-A2)
Hoặc định dạng ô thành General hoặc Number.
2.1 Xử lý thời gian
Nếu hai ô chứa thời gian (ví dụ 08:00, 17:30), phép trừ sẽ trả về phần thập phân của ngày. Để lấy số ngày thực, bạn có thể làm:
=INT(B2-A2)
2.2 Kiểm tra kết quả âm
Nếu ngày kết thúc nhỏ hơn ngày bắt đầu, kết quả âm. Để tránh, dùng MAX:
=MAX(0,B2-A2)
3. Hàm NETWORKDAYS và NETWORKDAYS.INTL
3.1 Mục đích
NETWORKDAYS: Tính số ngày làm việc giữa hai ngày, bỏ qua cuối tuần (thứ Bảy và Chủ Nhật).NETWORKDAYS.INTL: GiốngNETWORKDAYSnhưng cho phép tùy chỉnh ngày nghỉ (ví dụ công ty có ngày nghỉ thứ 3).
3.2 Cú pháp
=NETWORKDAYS(start_date, end_date, holidays)
=NETWORKDAYS.INTL(start_date, end_date, weekend, holidays)
holidays: Danh sách ngày lễ (tùy chọn).weekend: Chuỗi 7 ký tự1hoặc0để xác định ngày nghỉ cuối tuần. Ví dụ"0000011"(Bảy, Chủ Nhật).
3.3 Ví dụ
| A | B | C | D |
|---|---|---|---|
| 01/03/2026 | 20/03/2026 | =NETWORKDAYS(A2,B2) | =NETWORKDAYS.INTL(A2,B2,”1111100″) |
| 01/03/2026 | 20/03/2026 | 14 | 12 |
- Hàm 1 tính 14 ngày làm việc (đưa ra số ngày làm việc giữa 1/ who’s).
- Hàm 2 tính 12 ngày làm việc, vì đã bỏ qua các ngày thứ 5,6,7,8,9,10,11.
3.4 Xử lý ngày lễ
Nếu có danh sách ngày lễ trong cột E (E2:E5), bạn có thể dùng:
=NETWORKDAYS(A2,B2,E2:E5)
4. Xử lý ngày giờ phức tạp

Có thể bạn quan tâm: Cách Tìm Dữ Liệu Khác Nhau Trong 2 Bảng Excel
4.1 Khi dữ liệu ngày giờ nằm trong cùng một ô
Nếu ô chứa chuỗi "01/03/2026 08:00" (ngày và giờ), Excel sẽ lưu trữ்சி. Để tính số ngày, bạn có thể làm:
=INT(B2)-INT(A2)
4.2 Định dạng ngày giờ
Để hiển thị ngày giờ đúng, chọn ô, vào Home > Number Format > Custom và nhập "dd/mm/yyyy hh:mm".
4.3 Tính số ngày giữa hai thời điểm (bao gồm giờ)
Nếu bạn cần tính số ngày đầy đủ (bao gồm phần thời gian), chỉ cần trừ:
=B2-A2
Kết quả sẽ là số ngày và phần thập phân tương ứng với giờ. Để lấy số ngày thực sự:
=INT(B2-A2)
Để lấy số giờ:
=ROUND((B2-A2-INT(B2-A2))24,2)
5. Xử lýיתן ngày lệch hệ thống (1900 vs 1904)
- Windows: Excel dùng hệ thống ngày 1900 (định dạng mặc định).
- Mac: Có thể dùng hệ thống ngày 1904. Khi chuyển dữ liệu giữa hai komm, số serial có thể lệch 1462 ngày.
Để kiểm tra hệ thống ngày hiện tại, vào File > Options > Advanced > Edit > “Use 1904 date system”.
6. Sử dụng VBA để tính ngày tùy chỉnh
Nếu cần tính ngày theo quy tắc phức tạp (ví dụ: tính ngày làm việc, bỏ qua ngày lễ và ngày nghỉ tùy chọn), bạn có thể tạo hàm VBA:
Function DayDiff(startDate As Date, endDate As Date, Optional holidays As Range) As Long Dim diff As Long diff = DateDiff("d", startDate, endDate) If Not holidays Is Nothing Then Dim cell As Range For Each cell In holidays If cell.Value >= startDate And cell.Value <= endDate Then diff = diff - 1 End If Next cell End If DayDiff = diff
End Function
Sau khi lưu macro, bạn có thể gọi hàm trong ô:
=DayDiff(A2,B2,E2:E5)
7. Các mẹo và lưu ý khi tính ngày
| Mẹo | Mô tả |
|---|---|
| Kiểm tra định dạng ô | Định dạng Date cho ô chứa ngày, tránh nhập chuỗi văn bản. |
Sử dụng DATEVALUE | Khi nhập ngày dưới dạng chuỗi, dùng DATEVALUE("01/03/2026") để chuyển thành serial. |
Tránh lỗi #VALUE! | Nếu ô chứa ký tự không phải ngày, Excel sẽ trả lỗi. Kiểm tra dữ liệu đầu vào. |
Dùng IFERROR | Bảo vệ công thức: =IFERROR(DATEDIF(A2,B2,"d"),0) |
Sử dụng TEXT để hiển thị ngày | =TEXT(B2-A2,"0") hiển thị số nguyên. |
| Chú ý đến ngày 29/2 | Excel xử lý năm nhuận chính xác. |
| Cân nhắc timezone | Nếu dữ liệu ngày giờ lấy từ hệ thống khác, xác nhận timezone. |
| Xử lý ngày âm | =MAX(0,B2-A2) tránh số âm. |
| Định dạng số | Đặt kiểu số General hoặc Number để hiển thị số ngày không dấu thập phân. |
8. Kiểm tra và xác nhận tính chính xác
- So sánh với công cụ tính ngày trực tuyến: Kiểm tra kết quả với trang web tính ngày.
- Dùng
=DATEDIFvà phép trừ: Cả hai nên cho cùng kết quả. - Kiểm tra với dữ liệu thực tế: Nhập dữ liệu lịch thực tế, tính ngày và so sánh với lịch đã biết.
9. Ứng dụng thực tế trong doanh nghiệp
9.1 Quản lý dự án
- Tính thời gian hoàn thành dự án:
=DATEDIF(ngày_bắt_đầu, ngày_kết_thúc, "d"). - Tính số ngày làm việc:
=NETWORKDAYS(ngày_bắt_đầu, ngày_kết_thúc, ngày_lễ).
9.2 Tính lãi vay
- Tính số ngày vay:
=DATEDIF(ngày_bắt_đầu, ngày_kết_thúc, "d"). - Sau đó dùng công thức lãi:
=Số_nợ lãi % (số_ngày / 365).
9.3 Báo cáo nhân sự
- Tính thời gian công tác:
=DATEDIF(ngày_đăng_ký, ngày_đăng_kiểm, "d"). - Tính số ngày nghỉ:
=NETWORKDAYS(ngày_bắt_đầu, ngày_kết_thúc, ngày_lễ).
10. Tổng kết
Excel cung cấp nhiều cách tính số ngày giữa hai thời điểm, từ cách đơn giản nhất là phép trừ, đến hàm DATEDIF, NETWORKDAYS, NETWORKDAYS.INTL cho các yêu cầu phức tạp hơn. Khi làm việc, bạn nên:
- Xác định mục đích tính ngày (số ngày hoàn toàn, số ngày làm việc, bao gồm giờ?).
- Chọn hàm phù hợp.
- Kiểm tra định dạng ô và dữ liệu đầu vào.
- Sử dụng
IFERRORhoặcMAXđể bảo vệ công thức. - Kiểm tra kết quả với dữ liệu thực tế hoặc công cụ tính ngày trực tuyến.
Nhờ vào các kỹ thuật và mẹo trên, bạn sẽ có thể tính ngày một cách chính xác, nhanh chóng và tránh được những lỗi phổ biến trong Excel. Happy spreadsheeting!

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ẻ.
