Hàm DATEDIF, YEARFRAC, NETWORKDAYS: Tính Khoảng Cách Thời Gian Trong Excel
Chia sẻ
"Hướng dẫn các hàm tính khoảng cách ngày tháng trong Excel: DATEDIF (tuổi, thâm niên), YEARFRAC, NETWORKDAYS, WORKDAY — tự động tính ngày làm việc."
1. DATEDIF — Hàm bí ẩn tính khoảng cách
DATEDIF là hàm "ẩn" của Excel — không hiện trong AutoComplete, không có trong Help, nhưng hoạt động hoàn hảo. Hàm này tính khoảng cách giữa 2 ngày theo đơn vị bạn chọn.
1.1. Cú pháp
=DATEDIF(start_date, end_date, unit)Unit | Ý nghĩa | Ví dụ |
|---|---|---|
"Y" | Số năm trọn | 3 (năm) |
"M" | Số tháng trọn | 38 (tháng) |
"D" | Số ngày | 1165 (ngày) |
"YM" | Tháng lẻ (bỏ năm) | 2 (tháng) |
"YD" | Ngày lẻ (bỏ năm) | 75 (ngày) |
"MD" | Ngày lẻ (bỏ tháng năm) | 15 (ngày) |
1.2. Tính tuổi chính xác
=DATEDIF(A2, TODAY(), "Y")A2 = ngày sinh → trả số tuổi trọn.
1.3. Tính tuổi chi tiết
=DATEDIF(A2, TODAY(), "Y") & " năm, " & DATEDIF(A2, TODAY(), "YM") & " tháng, " & DATEDIF(A2, TODAY(), "MD") & " ngày"Kết quả: "28 năm, 5 tháng, 12 ngày"
1.4. Tính thâm niên
=DATEDIF(B2, TODAY(), "Y")B2 = ngày vào công ty. Nhân viên có thâm niên > 5 → phụ cấp.
1.5. Tính thời hạn hợp đồng còn lại
=DATEDIF(TODAY(), C2, "M") & " tháng"C2 = ngày hết hạn hợp đồng.
2. YEARFRAC — Tỷ lệ năm
=YEARFRAC(start_date, end_date, [basis])Trả tỷ lệ phần trăm của năm giữa 2 ngày.
2.1. Basis
Basis | Quy tắc |
|---|---|
0 | US 30/360 (mặc định) |
1 | Actual/Actual |
2 | Actual/360 |
3 | Actual/365 |
4 | European 30/360 |
2.2. Ví dụ
=YEARFRAC("1/1/2024", "7/1/2024", 1) → 0.497 ≈ nửa năm2.3. Ứng dụng tài chính
Tính lãi suất theo thời gian thực tế:
=Vốn * Lãi_suất_năm * YEARFRAC(ngày_vay, ngày_trả, 1)3. NETWORKDAYS — Ngày làm việc
=NETWORKDAYS(start_date, end_date, [holidays])Tính số ngày làm việc (tự trừ T7 + CN).
3.1. Ví dụ
=NETWORKDAYS("3/1/2024", "3/31/2024") → 21 (ngày)Tháng 3/2024 có 31 ngày, 21 ngày làm việc.
3.2. Trừ ngày lễ
Tạo bảng ngày lễ riêng:
Ngày lễ |
|---|
30/04/2024 |
01/05/2024 |
02/09/2024 |
=NETWORKDAYS(A2, B2, Holidays!A2:A10)Tự động trừ ngày lễ Việt Nam.
3.3. NETWORKDAYS.INTL — Tuỳ chỉnh ngày nghỉ
=NETWORKDAYS.INTL(start, end, weekend, [holidays])Weekend parameter:
Giá trị | Ngày nghỉ |
|---|---|
1 | T7, CN (mặc định) |
2 | CN, T2 |
7 | T6, T7 |
11 | Chỉ CN |
"0000011" | Custom (0=làm việc, 1=nghỉ) |
Ví dụ: Công ty nghỉ CN + T7 chiều:
=NETWORKDAYS.INTL(A2, B2, "0000010")4. WORKDAY — Ngày hoàn thành
=WORKDAY(start_date, days, [holidays])Cộng N ngày LÀM VIỆC vào ngày bắt đầu.
4.1. Ví dụ: Deadline giao hàng
=WORKDAY(TODAY(), 10)10 ngày làm việc kể từ hôm nay → ngày giao hàng.
4.2. WORKDAY.INTL
=WORKDAY.INTL(start, days, weekend, [holidays])Tương tự NETWORKDAYS.INTL cho custom weekend.
5. EDATE — Cộng/trừ tháng
=EDATE(start_date, months)=EDATE("15/03/2024", 3) → 15/06/2024
=EDATE("15/03/2024", -1) → 15/02/20245.1. Ứng dụng
Ngày đáo hạn:
=EDATE(ngày_vay, 36)→ 36 tháng sauNgày review tiếp:
=EDATE(ngày_review, 6)→ 6 tháng sau
6. EOMONTH — Cuối tháng
=EOMONTH(start_date, months)=EOMONTH("15/03/2024", 0) → 31/03/2024 (cuối tháng hiện tại)
=EOMONTH("15/03/2024", 1) → 30/04/2024 (cuối tháng sau)
=EOMONTH("15/03/2024", -1) → 29/02/2024 (cuối tháng trước)6.1. Đầu tháng
=EOMONTH(A1, -1) + 1Cuối tháng trước + 1 = đầu tháng hiện tại.
7. Ứng dụng thực tế
7.1. Bảng nhân sự
Nhân viên | Ngày sinh | Tuổi | Ngày vào | Thâm niên | HĐ hết hạn | Còn lại |
|---|---|---|---|---|---|---|
An | 15/3/1996 | =DATEDIF(B2,TODAY(),"Y") | 1/6/2020 | =DATEDIF(D2,TODAY(),"Y") | 31/12/2025 | =DATEDIF(TODAY(),F2,"M")&" tháng" |
7.2. Timeline dự án
Task | Bắt đầu | Thời hạn (ngày LV) | Deadline |
|---|---|---|---|
Thiết kế | 01/03 | 10 | =WORKDAY(B2,C2) |
Code | =WORKDAY(B2,C2)+1 | 20 | =WORKDAY(B3,C3) |
Test | =WORKDAY(B3,C3)+1 | 5 | =WORKDAY(B4,C4) |
7.3. Payroll period
Đầu tháng: =EOMONTH(TODAY(),-1)+1
Cuối tháng: =EOMONTH(TODAY(),0)
Số ngày LV: =NETWORKDAYS(đầu_tháng, cuối_tháng, ngày_lễ)8. Mẹo ngày tháng
DATEDIF cho tuổi/thâm niên: Chính xác hơn
(TODAY()-ngày_sinh)/365NETWORKDAYS cho KPI: Tính ngày làm việc thực tế
WORKDAY cho deadline: Cộng ngày tự trừ weekend
EOMONTH cho kỳ báo cáo: Cuối tháng chính xác (không hard-code 30/31)
Bảng ngày lễ riêng: Tạo 1 sheet → tham chiếu cho NETWORKDAYS/WORKDAY
9. Tổng kết
Tính khoảng cách thời gian là bài toán xuất hiện KHẮP NƠI: HR tính tuổi/thâm niên, PM tính deadline, Finance tính lãi suất. DATEDIF, NETWORKDAYS, WORKDAY, EOMONTH — 4 hàm này giúp bạn xử lý mọi bài toán ngày tháng mà không cần tính tay.
📥 Tải File Demo
📥 Tải file demo: khoang-cach-thoi-gian-demo.xlsx
📎 File đính kèm bài viết — chứa đầy đủ dữ liệu mẫu
Mục lục
- 1. DATEDIF — Hàm bí ẩn tính khoảng cách
- 1.1. Cú pháp
- 1.2. Tính tuổi chính xác
- 1.3. Tính tuổi chi tiết
- 1.4. Tính thâm niên
- 1.5. Tính thời hạn hợp đồng còn lại
- 2. YEARFRAC — Tỷ lệ năm
- 2.1. Basis
- 2.2. Ví dụ
- 2.3. Ứng dụng tài chính
- 3. NETWORKDAYS — Ngày làm việc
- 3.1. Ví dụ
- 3.2. Trừ ngày lễ
- 3.3. NETWORKDAYS.INTL — Tuỳ chỉnh ngày nghỉ
- 4. WORKDAY — Ngày hoàn thành
- 4.1. Ví dụ: Deadline giao hàng
- 4.2. WORKDAY.INTL
- 5. EDATE — Cộng/trừ tháng
- 5.1. Ứng dụng
- 6. EOMONTH — Cuối tháng
- 6.1. Đầu tháng
- 7. Ứng dụng thực tế
- 7.1. Bảng nhân sự
- 7.2. Timeline dự án
- 7.3. Payroll period
- 8. Mẹo ngày tháng
- 9. Tổng kết
Muốn làm chủ Excel?
Tham gia khóa học E-Learning của Trà Đá Data để được hướng dẫn chi tiết từ A-Z với Case Study thực tế.
Tìm hiểu ngayBài viết liên quan
Khám phá thêm các bài viết cùng chủ đề
Khắc phục lỗi Ctrl + C / Ctrl + V trên Excel 2016 – 2024
Ctrl+C và Ctrl+V trên Excel đột nhiên hoạt động không ổn định? Bài viết này hướng dẫn cách sử dụng bộ Hot Fix để xử lý lỗi nhanh chóng chỉ với vài thao tác đơn giản, kể cả khi bạn không rành về IT.
WORKDAY, WORKDAY.INTL: tính ngày làm việc sau N ngày, bỏ qua cuối tuần và ngày nghỉ
WORKDAY tính ra ngày kết thúc sau khi cộng thêm N ngày làm việc, tự động bỏ qua cuối tuần và danh sách ngày nghỉ — ngược chiều với NETWORKDAYS. WORKDAY.INTL thêm khả năng đổi cuối tuần sang bất kỳ hai ngày nào trong tuần.
WEEKDAY và EOMONTH: biết một ngày rơi vào thứ mấy, và tìm ngày cuối tháng
Cách dùng WEEKDAY để biết một ngày rơi vào thứ mấy trong tuần, tránh lên lịch giao hàng vào cuối tuần, và EOMONTH để tính hạn thanh toán luôn đúng ngày cuối cùng của tháng.
Bình luận
Đăng nhập để tham gia bình luận
Đăng nhậpNhận bài viết mới nhất
Đăng ký để nhận thông báo khi có bài viết mới. Không spam, chỉ kiến thức chất lượng.