Cách Tính Số Ngày Giữa Hai Thời Điểm Trong Excel

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.

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ế

ABC
Ngày bắt đầuNgày kết thúcSố ngày
01/03/202615/03/2026=DATEDIF(A2,B2,”d”)

Kết quả: 14

1.3 Lưu ý khi dùng DATEDIF

  • Hàm DATEDIF khô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, DATEDIF sẽ trả về lỗi #NUM!. Bạn có thể bảo vệ bằng IF:
=IF(B2>=A2,DATEDIF(A2,B2,"d"),0)

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ống NETWORKDAYS như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ự 1 hoặc 0 để xác định ngày nghỉ cuối tuần. Ví dụ "0000011" (Bảy, Chủ Nhật).

3.3 Ví dụ

ABCD
01/03/202620/03/2026=NETWORKDAYS(A2,B2)=NETWORKDAYS.INTL(A2,B2,”1111100″)
01/03/202620/03/20261412
  • 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ách Tính Số Ngày Giữa Hai Thời Điểm Trong Excel
Cách Tính Số Ngày Giữa Hai Thời Điểm Trong 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ẹoMô 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 DATEVALUEKhi 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 IFERRORBả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/2Excel xử lý năm nhuận chính xác.
Cân nhắc timezoneNế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 =DATEDIF và 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:

  1. 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ờ?).
  2. Chọn hàm phù hợp.
  3. Kiểm tra định dạng ô và dữ liệu đầu vào.
  4. Sử dụng IFERROR hoặc MAX để bảo vệ công thức.
  5. 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!

⚠️
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