Mục lục
Trong hướng dẫn này, bạn sẽ tìm thấy lời giải thích đơn giản về hàm DATEDIF trong Excel và một vài ví dụ về công thức minh họa cách so sánh ngày và tính toán chênh lệch theo ngày, tuần, tháng hoặc năm.
Trong vài tuần qua, chúng tôi đã tìm hiểu gần như mọi khía cạnh khi làm việc với ngày và giờ trong Excel. Nếu bạn đã theo dõi loạt blog của chúng tôi, thì bạn đã biết cách chèn và định dạng ngày tháng trong trang tính của mình, cách tính ngày trong tuần, tuần, tháng và năm cũng như cộng và trừ ngày tháng.
Trong hướng dẫn này, chúng ta sẽ tập trung vào tính toán chênh lệch ngày tháng trong Excel và bạn sẽ tìm hiểu các cách khác nhau để đếm số ngày, tuần, tháng và năm giữa hai ngày.
Dễ dàng tìm thấy sự khác biệt giữa hai ngày tháng trong Excel
Nhận kết quả dưới dạng công thức tạo sẵn theo năm, tháng, tuần hoặc ngày
Đọc thêmCộng và trừ ngày chỉ bằng vài cú nhấp chuột
Ngày ủy quyền & xây dựng công thức thời gian cho một chuyên gia
Đọc thêmTính toán tuổi trong Excel một cách nhanh chóng
Và nhận công thức được thiết kế riêng
Đọc thêmExcel DATEDIF hàm - lấy chênh lệch ngày
Như tên gọi của nó, hàm DATEDIF được dùng để tính toán chênh lệch giữa hai ngày.
DATEDIF là một trong số rất ít hàm không có giấy tờ trong Excel và bởi vì nó là "ẩn" bạn sẽ không tìm thấy nó trên tab Công thức , bạn cũng sẽ không nhận được bất kỳ gợi ý nàofunctions:
=DATEDIF(A2, B2, "y") &" years, "&DATEDIF(A2, B2, "ym") &" months, " &DATEDIF(A2, B2, "md") &" days"
Nếu không muốn hiển thị các giá trị bằng 0, bạn có thể ngắt từng DATEDIF trong hàm IF như sau:
=IF(DATEDIF(A2,B2,"y")=0, "", DATEDIF(A2,B2,"y") & " years ") & IF(DATEDIF(A2,B2,"ym")=0,"", DATEDIF(A2,B2,"ym") & " months ") & IF(DATEDIF(A2, B2, "md")=0, "", DATEDIF(A2, B2, "md") & " days"
Công thức chỉ hiển thị các phần tử khác 0 như minh họa trong ảnh chụp màn hình sau:
Để biết các cách khác để tính chênh lệch ngày theo ngày, hãy xem Cách tính ngày kể từ hoặc đến ngày trong Excel.
Công thức DATEDIF để tính tuổi trong Excel
Thực tế, việc tính tuổi của một người dựa trên ngày sinh là một trường hợp đặc biệt của cách tính chênh lệch ngày trong Excel, nơi ngày kết thúc là ngày hôm nay. Vì vậy, bạn sử dụng công thức DATEDIF thông thường với đơn vị "Y" trả về số năm giữa các ngày và nhập hàm TODAY() vào đối số end_date:
=DATEDIF(A2, TODAY(), "y")
Trong đó A2 là ngày sinh.
Công thức trên tính số năm trọn vẹn. Nếu bạn muốn lấy tuổi chính xác, bao gồm năm, tháng và ngày, hãy nối ba hàm DATEDIF như chúng ta đã làm trong ví dụ trước:
=DATEDIF(B2,TODAY(),"y") & " Years, " & DATEDIF(B2,TODAY(),"ym") & " Months, " & DATEDIF(B2,TODAY(),"md") & " Days"
Và bạn sẽ nhận được kết quả sau :
Để tìm hiểu các phương pháp chuyển đổi ngày sinh thành tuổi khác, hãy xem Cách tính tuổi từ ngày sinh.
Ngày & Trình hướng dẫn Thời gian - cách dễ dàng để tạo công thức chênh lệch ngày tháng trong Excel
Như đã trình bày trong phần đầu của hướng dẫn này, hàm DATEDIF trong Excel là một hàm khá linh hoạt phù hợp với nhiều mục đích sử dụng khác nhau. Tuy nhiên, cómột nhược điểm đáng kể - nó không có giấy tờ của Microsoft, nghĩa là bạn sẽ không tìm thấy DATEDIF trong danh sách các hàm cũng như sẽ không thấy bất kỳ chú giải công cụ đối số nào khi bạn bắt đầu nhập công thức vào một ô. Để có thể sử dụng hàm DATEDIF trong trang tính của mình, bạn phải nhớ cú pháp của nó và nhập tất cả các đối số theo cách thủ công, đây có thể là cách tốn thời gian và dễ mắc lỗi, đặc biệt là đối với người mới bắt đầu.
Ultimate Suite đối với Excel thay đổi hoàn toàn điều này vì nó hiện cung cấp Ngày & Time Wizard có thể tạo ra hầu hết mọi công thức chênh lệch ngày trong thời gian ngắn. Dưới đây là cách thực hiện:
- Chọn ô mà bạn muốn chèn công thức.
- Chuyển đến tab Công cụ Ablebits > Ngày & nhóm Thời gian và nhấp vào nhóm Ngày & Nút Trình hướng dẫn Thời gian :
- Click vào ô Date 1 (hoặc nhấp vào nút Thu gọn hộp thoại ở bên phải hộp) và chọn ô chứa ngày đầu tiên.
- Nhấp vào hộp Ngày 2 và chọn ô có ngày thứ hai.
- Chọn đơn vị mong muốn hoặc kết hợp các đơn vị từ menu thả xuống Chênh lệch trong . Khi bạn làm điều này, trình hướng dẫn cho phép bạn xem trước kết quả trong hộp và công thức trong ô.
- Nếu bạn hài lòng vớixem trước, hãy nhấp vào nút Chèn công thức , nếu không, hãy thử các đơn vị khác.
Ví dụ: đây là cách bạn có thể nhận được số ngày giữa hai ngày trong Excel:
Sau khi công thức được chèn vào ô đã chọn, bạn có thể sao chép công thức đó sang các ô khác như bình thường bằng cách nhấp đúp hoặc kéo núm điều khiển điền. Kết quả sẽ trông giống như sau:
Để trình bày kết quả theo cách phù hợp nhất, có sẵn một vài tùy chọn bổ sung:
- Loại trừ năm và/hoặc loại trừ tháng khỏi tính toán.
- Hiển thị hoặc không hiển thị nhãn văn bản như ngày , tháng , tuần và năm .
- Hiển thị hoặc không hiển thị 0 đơn vị .
- Trả về kết quả dưới dạng giá trị âm nếu Ngày 1 (ngày bắt đầu) lớn hơn Ngày 2 (ngày kết thúc).
Ví dụ: hãy lấy sự khác biệt giữa hai ngày theo năm, tháng, tuần và ngày, bỏ qua đơn vị 0:
Lợi ích của việc sử dụng Date & Trình hướng dẫn Công thức Thời gian
Ngoài tốc độ và sự đơn giản, tính năng Ngày & Trình hướng dẫn thời gian cung cấp thêm một số lợi ích:
- Không giống như công thức DATEDIF thông thường, một công thức nâng cao do trình hướng dẫn tạo không quan tâm đến ngày nào trong hai ngày nhỏ hơn và ngày nào lớn hơn. Chênh lệch luôn được tính toán hoàn hảo ngay cả khi Ngày 1 (ngày bắt đầu) lớn hơn Ngày 2 (ngày kết thúc).
- Trình hướng dẫnhỗ trợ tất cả các đơn vị có thể (ngày, tuần, tháng và năm) và cho phép bạn chọn trong số 11 cách kết hợp khác nhau của các đơn vị này.
- Các công thức mà trình hướng dẫn xây dựng cho bạn là các công thức Excel thông thường nên bạn có thể tự do chỉnh sửa, sao chép hoặc di chuyển chúng như bình thường. Bạn cũng có thể chia sẻ trang tính của mình với người khác và tất cả các công thức sẽ được giữ nguyên, ngay cả khi ai đó không có Ultimate Suite trong Excel của họ.
Đây là cách bạn tính chênh lệch giữa hai ngày trong các khoảng thời gian khác nhau. Hy vọng rằng hàm DATEDIF và các công thức khác mà bạn đã học hôm nay sẽ hữu ích trong công việc của bạn.
Các bản tải xuống có sẵn
Phiên bản đầy đủ chức năng trong 14 ngày của Ultimate Suite (tệp .exe)
nhập đối số nào khi bạn bắt đầu nhập tên hàm vào thanh công thức. Đó là lý do tại sao điều quan trọng là phải biết cú pháp đầy đủ của hàm DATEDIF trong Excel để có thể sử dụng nó trong công thức của bạn.Hàm DATEDIF trong Excel - cú pháp
Cú pháp của hàm DATEDIF trong Excel như sau :
DATEDIF(ngày_bắt_đầu, ngày_kết_thúc, đơn vị)Bắt buộc phải có cả ba đối số:
Ngày_bắt_đầu - ngày đầu tiên của khoảng thời gian bạn muốn tính.
End_date - ngày kết thúc của khoảng thời gian.
Unit - đơn vị thời gian sử dụng khi tính chênh lệch giữa hai ngày. Bằng cách cung cấp các đơn vị khác nhau, bạn có thể sử dụng hàm DATEDIF để trả về chênh lệch ngày tính theo ngày, tháng hoặc năm. Nhìn chung, có 6 đơn vị, được mô tả trong bảng sau.
Đơn vị | Ý nghĩa | Giải thích |
Y | Năm | Số năm trọn vẹn giữa ngày bắt đầu và ngày kết thúc. |
M | Tháng | Số tháng đầy đủ giữa các ngày. |
D | Ngày | Số ngày giữa ngày bắt đầu và ngày kết thúc. |
MD | Ngày không kể năm tháng | Ngày chênh lệch ngày, bỏ qua tháng và năm. |
YD | Ngày không tính năm | Chênh lệch ngày tính theo ngày, bỏ qua năm. |
YM | Tháng không kể ngày vànăm | Chênh lệch ngày theo tháng, bỏ qua ngày và năm. |
Công thức Excel DATEIF
Để lấy chênh lệch giữa hai ngày trong Excel, công việc chính của bạn là cung cấp ngày bắt đầu và ngày kết thúc cho hàm DATEDIF. Điều này có thể được thực hiện theo nhiều cách khác nhau, miễn là Excel có thể hiểu và diễn giải chính xác các ngày được cung cấp.
Tham chiếu ô
Cách dễ nhất để tạo công thức DATEDIF trong Excel là nhập hai ngày hợp lệ vào các ô riêng biệt và tham chiếu đến các ô đó. Ví dụ: công thức sau đây đếm số ngày giữa các ngày trong ô A1 và B1:
=DATEDIF(A1, B1, "d")
Chuỗi văn bản
Excel hiểu ngày tháng ở nhiều định dạng văn bản, chẳng hạn như "1-Jan-2023", "1/1/2023", "Jan 1, 2023", v.v. Có thể nhập trực tiếp ngày ở dạng chuỗi văn bản nằm trong dấu ngoặc kép vào đối số của công thức. Chẳng hạn, đây là cách bạn có thể tính toán số tháng giữa các ngày được chỉ định:
=DATEDIF("1/1/2023", "12/31/2025", "m")
Số sê-ri
Vì Microsoft Excel lưu trữ từng ngày làm số sê-ri bắt đầu bằng ngày 1 tháng 1 năm 1900, bạn sử dụng các số tương ứng với ngày tháng. Mặc dù được hỗ trợ nhưng phương pháp này không đáng tin cậy vì cách đánh số ngày khác nhau trên các hệ thống máy tính khác nhau. Trong hệ thống ngày 1900, bạn có thể sử dụng công thức bên dưới để tìm số năm giữa hai ngày, ngày 1 tháng 1 năm 2023 và ngày 31 tháng 12 năm 2025:
=DATEDIF(44927, 46022, "y")
Kết quả củacác hàm khác
Để biết có bao nhiêu ngày từ hôm nay đến ngày 20 tháng 5 năm 2025, đây là công thức nên sử dụng.
=DATEDIF(TODAY(), "5/20/2025", "d")
Lưu ý. Trong các công thức của bạn, ngày kết thúc phải luôn lớn hơn ngày bắt đầu, nếu không, hàm DATEDIF của Excel trả về lỗi #NUM! lỗi.
Hy vọng rằng những thông tin trên hữu ích để hiểu những điều cơ bản. Và bây giờ, hãy xem cách bạn có thể sử dụng hàm DATEDIF trong Excel để so sánh các ngày trong trang tính của mình và trả về sự khác biệt.
Cách lấy số ngày giữa hai ngày trong Excel
Nếu bạn quan sát kỹ lập luận của DATEDIF, bạn nhận thấy rằng tồn tại 3 đơn vị khác nhau để đếm ngày giữa các ngày. Việc sử dụng cái nào tùy thuộc vào chính xác nhu cầu của bạn.
Ví dụ 1. Công thức Excel DATEDIF để tính chênh lệch ngày tính theo ngày
Giả sử bạn có ngày bắt đầu trong ô A2 và ngày kết thúc trong ô ô B2 và bạn muốn Excel trả về chênh lệch ngày tính bằng ngày. Một công thức DATEDIF đơn giản hoạt động tốt:
=DATEDIF(A2, B2, "d")
Với điều kiện là giá trị trong đối số ngày_bắt_đầu nhỏ hơn giá trị trong ngày_kết_thúc. Trong trường hợp ngày bắt đầu lớn hơn ngày kết thúc, hàm DATEDIF trong Excel sẽ trả về lỗi #NUM, như ở hàng 5:
Nếu bạn đang tìm một công thức có thể trả về chênh lệch ngày theo ngày dưới dạng số dương hoặc số âm, chỉ cần trừ trực tiếp một ngày khỏi giá trịother:
=B2-A2
Vui lòng xem Cách trừ ngày trong Excel để biết đầy đủ chi tiết và các ví dụ về công thức khác.
Ví dụ 2. Đếm ngày trong Excel bỏ qua năm
Giả sử bạn có hai danh sách ngày thuộc các năm khác nhau và bạn muốn tính số ngày giữa các ngày như thể chúng thuộc cùng một năm. Để thực hiện điều này, hãy sử dụng công thức DATEDIF với đơn vị "YD":
=DATEDIF(A2, B2, "yd")
Nếu bạn muốn hàm DATEDIF của Excel bỏ qua không chỉ năm mà còn bướm đêm, sau đó sử dụng đơn vị "md". Trong trường hợp này, công thức của bạn sẽ tính số ngày giữa hai ngày như thể chúng cùng tháng và cùng năm:
=DATEDIF(A2, B2, "md")
Ảnh chụp màn hình bên dưới minh họa kết quả và so sánh kết quả với ảnh chụp màn hình ở trên có thể giúp hiểu rõ hơn về sự khác biệt.
Mẹo. Để lấy số ngày làm việc giữa hai ngày, hãy sử dụng hàm NETWORKDAYS hoặc NETWORKDAYS.INTL.
Cách tính chênh lệch ngày theo tuần
Có thể bạn đã nhận thấy, hàm DATEDIF trong Excel không có đơn vị đặc biệt để tính chênh lệch ngày theo tuần. Tuy nhiên, có một cách giải quyết dễ dàng.
Để biết có bao nhiêu tuần giữa hai ngày, bạn có thể sử dụng hàm DATEDIF với đơn vị "D" để trả về chênh lệch theo ngày, sau đó chia kết quả cho 7.
Để biết số lượng tuần đầy đủ giữa các ngày, hãy bọc công thức DATEDIF của bạn tronghàm ROUNDDOWN luôn làm tròn số về 0:
=ROUNDDOWN((DATEDIF(A2, B2, "d") / 7), 0)
Trong đó A2 là ngày bắt đầu và B2 là ngày kết thúc của khoảng thời gian bạn đang tính.
Cách tính số tháng giữa hai ngày trong Excel
Tương tự như đếm ngày, hàm DATEDIF trong Excel có thể tính số tháng giữa hai ngày mà bạn chỉ định. Tùy thuộc vào đơn vị bạn cung cấp, công thức sẽ tạo ra các kết quả khác nhau.
Ví dụ 1. Tính số tháng đầy đủ giữa hai ngày (DATEDIF)
Để đếm số tháng đầy đủ giữa các ngày, bạn sử dụng hàm DATEDIF với đơn vị "M". Ví dụ: công thức sau so sánh các ngày trong A2 (ngày bắt đầu) và B2 (ngày kết thúc) và trả về chênh lệch theo tháng:
=DATEDIF(A2, B2, "m")
Lưu ý. Để công thức DATEDIF tính tháng chính xác, ngày kết thúc phải luôn lớn hơn ngày bắt đầu; nếu không, công thức sẽ trả về lỗi #NUM.
Để tránh những lỗi như vậy, bạn có thể buộc Excel luôn coi một ngày cũ hơn là ngày bắt đầu và một ngày gần đây hơn là ngày kết thúc. Để thực hiện việc này, hãy thêm một bài kiểm tra logic đơn giản:
=IF(B2>A2, DATEDIF(A2,B2,"m"), DATEDIF(B2,A2,"m"))
Ví dụ 2. Lấy số tháng giữa hai ngày bỏ qua năm (DATEDIF)
Để đếm số tháng giữa các ngày như thể chúng thuộc cùng một năm, hãy nhập "YM" vào đối số đơn vị:
=DATEDIF(A2, B2, "ym")
Như bạn thấy, công thức nàycũng trả về lỗi ở hàng 6 khi ngày kết thúc nhỏ hơn ngày bắt đầu. Nếu tập dữ liệu của bạn có thể chứa những ngày như vậy, thì bạn sẽ tìm thấy giải pháp trong các ví dụ tiếp theo.
Ví dụ 3. Tính tháng giữa hai ngày (hàm MONTH)
Một cách khác để tính số của tháng giữa hai ngày trong Excel đang sử dụng hàm MONTH, hay chính xác hơn là sự kết hợp của hàm MONTH và YEAR:
=(YEAR(B2) - YEAR(A2))*12 + MONTH(B2) - MONTH(A2)
Tất nhiên, công thức này không minh bạch như DATEDIF và nó không mất thời gian để hiểu logic của bạn. Nhưng không giống như hàm DATEDIF, hàm này có thể so sánh hai ngày bất kỳ và trả về chênh lệch theo tháng dưới dạng giá trị dương hoặc âm:
Lưu ý rằng công thức NĂM/THÁNG không có sự cố tính tháng ở hàng 6 trong đó ngày bắt đầu gần đây hơn ngày kết thúc, tình huống trong đó công thức DATEDIF tương tự không thành công.
Lưu ý. Kết quả trả về của công thức DATEDIF và NĂM/THÁNG không phải lúc nào cũng giống nhau vì chúng hoạt động dựa trên các nguyên tắc khác nhau. Hàm DATEDIF trong Excel trả về số tháng dương lịch đầy đủ giữa các ngày, trong khi công thức NĂM/THÁNG hoạt động trên số tháng.
Ví dụ: ở hàng 7 trong ảnh chụp màn hình ở trên, công thức DATEDIF trả về 0 vì một tháng dương lịch đầy đủ giữa các ngày chưa trôi qua, trong khi NĂM/THÁNG trả về 1 vì các ngàythuộc các tháng khác nhau.
Ví dụ 4. Đếm tháng giữa 2 ngày bỏ qua năm (hàm MONTH)
Trong trường hợp tất cả các ngày của bạn đều thuộc cùng một năm hoặc bạn muốn tính tháng giữa các tháng ngày bỏ qua năm, bạn có thể sử dụng hàm MONTH để truy xuất tháng từ mỗi ngày, rồi trừ một tháng cho ngày khác:
=MONTH(B2) - MONTH(A2)
Công thức này hoạt động tương tự như Excel DATEDIF với "YM " đơn vị như minh họa trong ảnh chụp màn hình sau:
Tuy nhiên, kết quả trả về của hai công thức khác nhau ở một vài hàng:
- Hàng 4 : ngày kết thúc nhỏ hơn ngày bắt đầu và do đó DATEDIF trả về lỗi trong khi MONTH-MONTH trả về giá trị âm.
- Hàng 6: ngày ở các tháng khác nhau nhưng chênh lệch ngày thực tế chỉ là một ngày . DATEDIF trả về 0 vì nó tính cả tháng giữa 2 ngày. MONTH-MONTH trả về 1 vì nó trừ các số của tháng cho nhau, bỏ qua ngày và năm.
Cách tính năm giữa hai ngày trong Excel
Nếu bạn làm theo các ví dụ trước trong đó chúng tôi đã tính tháng và ngày giữa hai ngày, thì bạn có thể dễ dàng rút ra công thức để tính năm trong Excel. Các ví dụ sau đây có thể giúp bạn kiểm tra xem bạn đã tính đúng công thức chưa :)
Ví dụ 1. Tính số năm trọn vẹn giữa hai ngày (hàm DATEDIF)
Để tìm số năm dương lịch trọn vẹn giữa hai ngàyhai ngày, hãy sử dụng DATEDIF cũ tốt với đơn vị "Y":
=DATEDIF(A2,B2,"y")
Lưu ý rằng công thức DATEDIF trả về 0 ở hàng 6, mặc dù ngày tháng năm khác nhau. Điều này là do số năm dương lịch đầy đủ giữa ngày bắt đầu và ngày kết thúc bằng không. Và tôi tin rằng bạn không ngạc nhiên khi thấy #NUM! lỗi ở hàng 7 trong đó ngày bắt đầu mới hơn ngày kết thúc.
Ví dụ 2. Tính năm giữa hai ngày (hàm YEAR)
Một cách khác để tính năm trong Excel là sử dụng hàm NĂM. Tương tự như công thức MONTH, bạn trích xuất năm từ mỗi ngày rồi trừ các năm cho nhau:
=YEAR(B2) - YEAR(A2)
Trong ảnh chụp màn hình sau, bạn có thể so sánh các kết quả do hàm DATEDIF trả về và hàm NĂM:
Trong hầu hết các trường hợp, kết quả giống hệt nhau, ngoại trừ:
- Hàm DATEDIF tính toán các năm dương lịch đầy đủ, trong khi hàm NĂM công thức chỉ đơn giản là trừ một năm từ năm kia. Hàng 6 minh họa sự khác biệt.
- Công thức DATEDIF trả về lỗi nếu ngày bắt đầu lớn hơn ngày kết thúc, trong khi hàm YEAR trả về giá trị âm, như ở hàng 7.
Cách lấy chênh lệch ngày, tháng và năm
Để đếm số năm, tháng và ngày đầy đủ giữa hai ngày trong một công thức, bạn chỉ cần nối ba DATEDIF