Trong môi trường làm việc hiện đại, việc quản lý thời gian, lập kế hoạch hay theo dõi tiến độ dự án đều đòi hỏi chúng ta phải biết cách tính toán số ngày giữa các mốc thời gian. Microsoft Excel, với tính năng mạnh mẽ và linh hoạt, là công cụ hỗ trợ đắc lực cho công việc này. Bài viết dưới đây sẽ cung cấp cho bạn một hướng dẫn toàn diện, chi tiết từ những kiến thức cơ bản nhất cho đến các phương pháp nâng cao, giúp bạn nhanh chóng và chính xác tính số ngày giữa hai ngày trong Excel.
Có thể bạn quan tâm: Mẫu Excel Phân Tích Chi Phí – Lợi Ích (cost Benefit Analysis) – Hướng Dẫn Chi Tiết Từ A Đến Z
1. Nhập và Định Dạng Ngày Tháng Trong Excel
1.1. Định Dạng Ngày Cơ Bản
Khi nhập dữ liệu ngày tháng vào Excel, bạn chỉ cần gõ theo một trong các định dạng chuẩn như:
dd/mm/yyyy(ví dụ:25/12/2026)mm/dd/yyyy(ví dụ:12/25/2026)yyyy-mm-dd(ví dụ:2026-12-25)
Sau khi nhập, Excel sẽ tự động nhận dạng và hiển thị dưới dạng ngày tháng. Để chắc chắn rằng ô đã được định dạng là ngày, bạn có thể thực hiện:
- Chọn ô → Nhấn chuột phải → Format Cells.
- Chọn Category → Date và chọn định dạng mong muốn.
1.2. Kiểm Tra Định Dạng
Nếu Excel không nhận dạng đúng, bạn sẽ thấy giá trị được hiển thị dưới dạng số (ví dụ: 45234). Đó là số serial (số ngày tính từ 1/1/1900). Để chuyển lại thành dạng ngày:
- Chọn ô → Ctrl + 1 → Date → Chọn định dạng.
Có thể bạn quan tâm: Cách Copy Đảo Ngược Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
2. Công Thức Cơ Bản Nhất: Dùng Dấu Trừ (-)
2.1. Cách Thực Hiện
Giả sử:
- Ô A2 chứa ngày bắt đầu (
01/01/2026). - Ô B2 chứa ngày kết thúc (
15/01/2026).
Công thức:
=B2-A2
Kết quả sẽ trả về 14 – số ngày chênh lệch (không bao gồm ngày đầu).
2.2. Bao Gồm Ngày Đầu và Ngày Cuối
Nếu muốn tính cả ngày đầu và ngày cuối, chỉ cần cộng 1:
=B2-A2+1
Kết quả trong ví dụ trên sẽ là 15 ngày.
Có thể bạn quan tâm: Hướng Dẫn Copy Sheet Trong Excel: Từ Cơ Bản Đến Nâng Cao
3. Sử Dụng Hàm DATEDIF (DATEDIF)
3.1. Giới Thiệu Hàm DATEDIF
DATEDIF là hàm ẩn trong Excel (không xuất hiện trong danh sách hàm), nhưng vẫn rất hữu ích để tính khoảng cách giữa hai ngày theo các đơn vị: ngày, tháng, năm. 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,"ym"– tháng còn lại,"md"– ngày còn lại,"yd"– ngày còn lại trong năm).
3.2. Ví Dụ Cụ Thể
| Công thức | Mô tả | Kết quả |
|---|---|---|
=DATEDIF(A2,B2,"d") | Số ngày chênh lệch (không bao gồm ngày đầu) | 14 |
=DATEDIF(A2,B2,"d")+1 | Bao gồm ngày đầu | 15 |
=DATEDIF(A2,B2,"m") | Số tháng trọn | 0 |
=DATEDIF(A2,B2,"y") | Số năm trọn | 0 |
=DATEDIF(A2,B2,"ym") | Số tháng còn lại sau khi trừ năm | 0 |
=DATEDIF(A2,B2,"md") | Số ngày còn lại sau khi trừ tháng và năm | 14 |
3.3. Lưu Ý Khi Dùng DATEDIF
start_datephải nhỏ hơnend_date. Nếu ngược lại, hàm sẽ trả về lỗi#NUM!.- Hàm không tính cả ngày cuối nếu không cộng thêm 1.
- Đối với khoảng cách tính theo tháng (
"m"), hàm chỉ tính số tháng tròn (không xét ngày).
4. Hàm NETWORKDAYS và NETWORKDAYS.INTL
4.1. Mục Đích
Khi làm việc trong môi trường doanh nghiệp, thường cần tính số ngày làm việc (không tính cuối tuần và ngày lễ). Excel cung cấp hàm NETWORKDAYS và NETWORKDAYS.INTL để thực hiện điều này.
4.2. Cú Pháp Cơ Bản
=NETWORKDAYS(start_date, end_date, holidays)
holidays(tùy chọn): danh sách ngày lễ (có thể là một dải ô).
4.3. Ví Dụ
| Ô | Giá trị |
|---|---|
| A2 | 01/01/2026 (Ngày bắt đầu) |
| B2 | 31/01/2026 (Ngày kết thúc) |
| D2:D5 | 02/01/2026; 03/01/2026; 09/01/2026; 23/01/2026 (Ngày lễ) |
Công thức:
=NETWORKDAYS(A2,B2,D2:D5)
Kết quả: 20 ngày làm việc (trừ ngày cuối tuần và các ngày lễ).
4.4. Tùy Chỉnh Ngày Cuối Tuần Với NETWORKDAYS.INTL
Mặc định, cuối tuần là Thứ Bảy và Chủ Nhật. Nếu công ty của bạn có lịch làm việc khác (ví dụ: nghỉ Chủ Nhật và Thứ Hai), dùng NETWORKDAYS.INTL.
=NETWORKDAYS.INTL(start_date, end_date, weekend, holidays)
weekendlà một chuỗi 7 ký tự (“1” là ngày nghỉ, “0” là ngày làm) bắt đầu từ Thứ Hai.- Ví dụ:
"0000011"– nghỉ Thứ Bảy và Chủ Nhật (mặc định). "1000001"– nghỉ Chủ Nhật và Thứ Hai.
4.4.1. Ví Dụ Thực Tế
=NETWORKDAYS.INTL(A2,B2,"1000001",D2:D5)
Kết quả sẽ tính số ngày làm việc, chỉ nghỉ Chủ Nhật và Thứ Hai, đồng thời trừ ngày lễ đã liệt kê.
5. Hàm WORKDAY và WORKDAY.INTL (Tính Ngày Kết Thúc Dựa Trên Số Ngày Làm Việc)
5.1. Khi Nào Dùng?
Bạn có một dự án bắt đầu vào ngày X và dự tính sẽ mất N ngày làm việc. Bạn muốn biết ngày kết thúc dự án (không tính ngày nghỉ).
5.2. Cú Pháp
=WORKDAY(start_date, days, holidays)
days: số ngày làm việc cần thiết (có thể âm nếu muốn tính ngày trước).
5.3. Ví Dụ
| Ô | Giá trị |
|---|---|
| A2 | 01/02/2026 (Ngày bắt đầu) |
| D2:D5 | 02/02/2026; 15/02/2026 (Ngày lễ) |
Công thức tính ngày kết thúc sau 10 ngày làm việc:
=WORKDAY(A2,10,D2:D5)
Kết quả: 15/02/2026 (vì 02/02 là ngày lễ, nên được bỏ qua).
5.4. Tùy Chỉnh Cuối Tuần Với WORKDAY.INTL
=WORKDAY.INTL(start_date, days, weekend, holidays)
weekend có cùng định dạng như trong NETWORKDAYS.INTL.
6. Tính Khoảng Cách Thời Gian Chi Tiết (Năm, Tháng, Ngày)
Đôi khi bạn cần biết độ tuổi, thời gian làm việc, hoặc khoảng thời gian chi tiết. Kết hợp DATEDIF với một số phép tính đơn giản sẽ cho ra kết quả dạng “X năm Y tháng Z ngày”.

Có thể bạn quan tâm: Cách Đếm Ô Trống Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
6.1. Công Thức Tổng Hợp
Giả sử:
A2= ngày sinh (01/03/1990).B2= ngày hiện tại (25/06/2026).
=DATEDIF(A2,B2,"y") & " năm " &
DATEDIF(A2,B2,"ym") & " tháng " &
DATEDIF(A2,B2,"md") & " ngày"
Kết quả: 36 năm 3 tháng 24 ngày.
6.2. Ứng Dụng Thực Tế
| Mục Đích | Công Thức | Mô Tả |
|---|---|---|
| Tính tuổi | =DATEDIF(A2,TODAY(),"y") | Số năm tròn. |
| Thời gian làm việc (chi tiết) | Như công thức trên | Kết quả dạng “X năm Y tháng Z ngày”. |
| Thời gian còn lại đến ngày cuối dự án | =DATEDIF(TODAY(), end_date, "d") | Số ngày còn lại. |
7. Sử Dụng TODAY() và NOW() Để Tự Động Cập Nhật
TODAY()trả về ngày hiện tại (không có thời gian).NOW()trả về ngày và giờ hiện tại.
Khi kết hợp với các hàm trên, bạn có thể tạo bảng tự động cập nhật.
7.1. Ví Dụ Đếm Ngày Đến Hạn
| Ô | Nội dung |
|---|---|
| A2 | 15/07/2026 (Ngày hết hạn) |
| B2 | =A2-TODAY() (Số ngày còn lại) |
Khi mở file vào ngày 10/07/2026, B2 sẽ hiển thị 5.
7.2. Cảnh Báo Hết Hạn
Bạn có thể dùng Conditional Formatting để làm nổi bật ô khi ngày còn lại ≤ 0:
- Chọn ô B2 → Conditional Formatting → New Rule → Use a formula.
- Nhập công thức:
=B2<=0. - Đặt màu nền đỏ.
8. Xử Lý Ngày Với Định Dạng Văn Bản (Text)
Có lúc dữ liệu ngày được nhập dưới dạng văn bản (text), ví dụ "2026/01/01" dưới dạng chuỗi. Để tính toán, cần chuyển sang ngày thực.
8.1. Hàm DATEVALUE
=DATEVALUE(text_date)
Nếu A2 chứa "2026/01/01":
=DATEVALUE(A2)
Kết quả là 44927 (số serial), sau đó định dạng lại thành ngày.
8.2. Kết Hợp LEFT, MID, RIGHT
Khi chuỗi không phải định dạng chuẩn, bạn có thể tách ra:
=DATE(RIGHT(A2,4), MID(A2,4,2), LEFT(A2,2))
Giả sử A2 = "25-12-2026" (định dạng dd-mm-yyyy).
9. Tính Khoảng Cách Ngày Đối Với Nhiều Dòng Dữ Liệu (Array)
Khi có một danh sách cột Start Date và End Date, bạn muốn tính số ngày cho từng dòng và tổng hợp.
9.1. Cột Công Thức
Giả sử:
- Cột A:
Start Date. - Cột B:
End Date.
Ở cột C (công thức cho dòng 2):
=B2-A2
Sau khi kéo công thức xuống, bạn sẽ có cột C chứa số ngày cho mỗi dòng.
9.2. Tổng Số Ngày
=SUM(C2:C100)
Nếu muốn tính tổng số ngày làm việc (trừ cuối tuần, ngày lễ) cho toàn bộ danh sách, bạn có thể dùng công thức mảng (Excel 365/2026):
=SUM(NETWORKDAYS(A2:A100, B2:B100, holidays))
Lưu ý: Hàm NETWORKDAYS không chấp nhận dải mảng trực tiếp trong các phiên bản cũ; bạn cần dùng SUMPRODUCT hoặc Công Thức Mảng:
=SUMPRODUCT(NETWORKDAYS(A2:A100, B2:B100, holidays))
10. Xử Lý Lỗi Thường Gặp Khi Tính Ngày
| Lỗi | Nguyên Nhân | Cách Khắc Phục |
|---|---|---|
#VALUE! | Ô chứa giá trị không phải ngày hoặc chuỗi không chuyển đổi được. | Kiểm tra định dạng, dùng DATEVALUE hoặc chuyển đổi bằng DATE. |
#NUM! | start_date > end_date trong DATEDIF, NETWORKDAYS. | Đảo lại thứ tự ngày hoặc dùng ABS(end_date-start_date). |
#NAME? | Gõ sai tên hàm (đặc biệt là DATEDIF). | Kiểm tra chính tả, nhớ rằng DATEDIF không hiển thị trong danh sách hàm. |
#### (ô hiển thị dải ô) | Cột không đủ rộng hoặc ngày âm. | Mở rộng cột, hoặc kiểm tra lại công thức. |
11. Tự Động Hóa Với VBA (Macro)
Đối với các dự án lớn, việc lặp lại công thức có thể gây chậm và khó bảo trì. Sử dụng VBA để tính ngày nhanh chóng.
11.1. Macro Đếm Ngày Giữa Hai Ô
Function DaysBetween(StartDate As Date, EndDate As Date, _ Optional IncludeBoth As Boolean = False) As Long If IncludeBoth Then DaysBetween = EndDate - StartDate + 1 Else DaysBetween = EndDate - StartDate End If
End Function
- Đặt đoạn mã vào Module.
- Sử dụng trong ô:
=DaysBetween(A2,B2,TRUE).
11.2. Macro Tính Ngày Làm Việc Với Ngày Lễ
Function WorkDaysEx(StartDate As Date, EndDate As Date, _ Holidays As Range) As Long WorkDaysEx = Application.WorksheetFunction.NetworkDays(StartDate, EndDate, Holidays)
End Function
- Gọi:
=WorkDaysEx(A2,B2,$D$2:$D$10).
11.3. Lưu Ý Khi Dùng VBA
- Bật Macro trong Trust Center.
- Đặt Option Explicit để tránh lỗi biến.
- Kiểm tra ngày nhập vào đúng định dạng
Date.
12. Ứng Dụng Thực Tiễn Trong Doanh Nghiệp
| Ngành | Ứng Dụng | Công Thức/Tool |
|---|---|---|
| Nhân sự | Tính tuổi, thâm niên, ngày nghỉ còn lại. | DATEDIF, NETWORKDAYS, TODAY() |
| Dự án | Xác định ngày kết thúc dự án dựa trên số ngày làm việc. | WORKDAY, WORKDAY.INTL |
| Kế toán | Tính số ngày tính lãi suất, trả nợ. | DATEDIF + công thức lãi. |
| Bán hàng | Đếm ngày giao hàng, thời gian giao hàng trung bình. | AVERAGE, NETWORKDAYS |
| Giáo dục | Tính số ngày học, nghỉ lễ. | NETWORKDAYS.INTL với cấu hình cuối tuần tùy chỉnh. |
13. Tổng Kết – Các Bước Nhắc Nhở Khi Tính Ngày Trong Excel
- Đảm bảo dữ liệu ngày được định dạng đúng (đối với ngày và văn bản).
- Chọn công thức phù hợp:
- Dấu trừ (
-) cho tính nhanh. DATEDIFcho độ tuổi, khoảng thời gian chi tiết.NETWORKDAYS/NETWORKDAYS.INTLcho ngày làm việc.WORKDAY/WORKDAY.INTLđể tính ngày kết thúc dự án.- Xử lý ngày lễ bằng cách liệt kê trong một dải ô và đưa vào hàm.
- Sử dụng
TODAY()hoặcNOW()để tạo bảng tự cập nhật. - Kiểm tra lỗi (
#VALUE!,#NUM!) và sửa định dạng. - Nếu cần tự động hoá, viết hàm VBA tùy chỉnh.
14. Câu Hỏi Thường Gặp (FAQ)
Q1: Tại sao DATEDIF không xuất hiện trong danh sách hàm?
A: DATEDIF là hàm còn lại từ các phiên bản Lotus 1‑2‑3, vì vậy không hiển thị trong danh sách hàm, nhưng vẫn hoạt động trong Excel.
Q2: Làm sao tính ngày giữa hai ngày nếu ngày cuối tuần là Thứ Năm và Thứ Sáu?
A: Dùng NETWORKDAYS.INTL với weekend = "0011100" (Thứ Hai, Ba, Tư = ngày làm; Thu, Fri = nghỉ).
Q3: Tôi muốn tính số ngày làm việc nhưng không tính ngày lễ quốc tế, chỉ tính ngày lễ công ty.
A: Liệt kê ngày lễ công ty trong một dải ô (ví dụ D2:D20) và đưa vào hàm NETWORKDAYS hoặc NETWORKDAYS.INTL làm đối số holidays.
Q4: Excel trả về số ngày là âm, tôi muốn luôn nhận giá trị dương.
A: Dùng ABS(end_date-start_date) hoặc =IF(end_date<start_date, start_date-end_date, end_date-start_date).
Q5: Khi nhập ngày tháng dạng dd/mm/yyyy, Excel lại chuyển thành mm/dd/yyyy.
A: Kiểm tra Regional Settings của Windows hoặc thay đổi định dạng ngày trong File → Options → Advanced → When calculating this workbook.
15. Kết Luận
Việc tính số ngày giữa hai ngày trong Excel không chỉ là một kỹ năng cơ bản mà còn là nền tảng cho nhiều quy trình quản lý thời gian, dự án và tài chính trong doanh nghiệp. Bằng việc nắm vững các công thức cơ bản (dấu trừ, DATEDIF) và các hàm nâng cao (NETWORKDAYS, WORKDAY, NETWORKDAYS.INTL), bạn có thể đáp ứng hầu hết các yêu cầu thực tiễn, từ tính tuổi cá nhân đến lập kế hoạch dự án chi tiết.
Nếu công việc của bạn đòi hỏi tính toán phức tạp, tự động hoá hay tích hợp ngày lễ tùy chỉnh, hãy khám phá thêm các hàm INTL và thậm chí viết macro VBA để tối ưu hoá quy trình. Hy vọng bài viết đã cung cấp cho bạn một bộ công cụ đầy đủ, chi tiết và thực tiễn để làm chủ việc tính ngày trong Excel. Hãy áp dụng ngay và trải nghiệm sự nhanh chóng, chính xác mà Excel mang lại!

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