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