Bạn muốn biết số ngày, số tháng hoặc số năm giữa 2 mốc thời gian, khi gặp bài toán này chúng ta thường nghĩ đến các phương pháp tính toán công, trừ, nhân chia và dùng các dữ liệu phức tạp để phân tích xem 2 mốc thời gian đó nằm trong khoảng nào, có bao nhiêu tháng 30 ngày, có năm nhuận không, vân vân. Và tất nhiên với cách suy nghĩ đó chúng ta cũng giải quyết được bài toán rồi.
Tuy nhiên Microsoft đã bao gồm tất cả những phép tính phức tạp ấy thành Hàm DateDif để giúp ta đơn giản hóa công việc.
Thông thường mỗi khi ta áp dụng một hàm nào đó, chúng ta chỉ việc đánh dấu = và gõ chữ cái đầu tiên thì danh sách các hàm sẽ hiện ra, cùng với cú pháp định sẵn. Tuy nhiên với Hàm này, bạn sẽ không thể nào nhìn thấy nó xuất hiện trong excel. Đo đó bạn khó mà biết được sự tồn tại của nó trong excel và cách sử dụng nó như thế nào.
Do đó bạn hãy nhớ công thức hàm và các tham số của nó như tôi sắp giới thiệu sau đây:
Cú pháp:
=DATEDIF(start_date, end_date, Interval)
Trong đó:
start_date: Ngày bắt đầu tính
end_date: Ngày kết thúc
Lưu ý: Start_Date và End_Date phải là được viết dưới dạng Hàm Date, Nếu không hàm sẽ trả về #Value!.
Interval: Tùy chọn kết quả trả về. Các tùy chọn này phải để trong ngoặc kép nếu bạn nhập trực tiếp vào hàm hoặc tham chiếu đến 1 ô chứa giá trị là những tùy chọn đó.
Kiểu trả về Diễn giải
“d” trả về tổng số ngày giữa 2 mốc thời gian
“m” trả về tổng số tháng (chẵn) có đủ số ngày theo mặc định giữa 2 mốc thời gian
“y” trả về tổng số năm (chẵn) giữa 2 mốc thời gian
“yd” trả về tổng số ngày chưa đủ một năm trong 2 mốc thời gian (Luôn nhỏ hon 365)
“ym” trả về tổng số tháng chưa đủ một năm trong 2 mốc thời gian (Luôn nhỏ hơn 12)
“md” trả về tổng số ngày chưa đủ của tháng mặc định trong 2 mốc thời gian

Ví dụ:
Ta có ngày Bắt đầu (Start_date) là ngày 12 tháng 10 năm 2009 và ngày kết thúc (End_Date) là ngày 13 tháng 6 năm 2012 cách nhau 975 ngày theo kết quả
ô D4.Ô D2: Interval là "Y" có nghĩa là yêu cầu Hàm trả về số Năm (Year) khác nhau giữa 2 ngày bắt đầu và kết thúc. Và Kết quả là 2 năm. Tại sao vậy? nếu ta lấy 975 chia cho 3 thì ta được 2,67 ngày. Tuy nhiên với
Interval là "
Y" thì hàm chỉ trả về số nguyên (chỉ tính số năm có đủ 12 tháng)
Ô D3 kết quả là 32 tháng. Theo bạn là khoảng thời gian 975 ngày có đúng là 32 tháng không?
Chắc chắn là không rồi. Vi với Kiểu trả về là M thì Hàm cũng sẽ trả về những tháng có đủ số ngày trong tháng thôi.
Có khi nào khoảng cách giữa mốc ngày là số tháng chẵn, số năm chẵn? Điều đó đơn giãn thôi, bạn hãy nhớ quy luật sau:
- Kiểu trả về
YD và
YM nhằm kiểm tra Kiểu trả về
Y. Nếu kết quả kiểu
YD hoặc
YM lớn hơn 0, thì ta biết vẫn còn 1 năm lẻ.
Ví dụ ô
D5 và D6: khoảng thời gian 975 ngày tương ứng với 2 năm (chẵn) và 244 ngày hoặc 2 năm chẵn 8 tháng và một ngày
- Kiểu trả về
MD nhằm kiểm tra Kiểu trả về
M. Nếu kết quả kiểu
MD lớn hơn 0, thì ta biết vẫn còn 1 tháng lẻ.
Ví dụ
ô D7: khoảng thời gian 975 ngày tương ứng với 2 năm (chẵn) và 244 ngày; hoặc 2 năm chẵn 8 tháng và một ngày ;hoặc 32 tháng và 1 ngày.
Vậy ta có thể dùng công thức sau để đếm năm chẵn, và tháng lẻ, ngày lẻ như sau:
+ Năm và Ngày còn lại="Khoảng cách giữa 2 ngày 12-Oct-2009 và 13-Jun-2012 là "&Datedif("12-Oct-2009","13-Jun-2012","Y")&" năm và "&Datedif("12-Oct-2009","13-Jun-2012","yd")&" ngày"
+ năm + Tháng + Ngày lẻ="Khoảng cách giữa 2 ngày 12-Oct-2009 và 13-Jun-2012 là "&Datedif("12-Oct-2009","13-Jun-2012","Y")&" năm và "&Datedif("12-Oct-2009","13-Jun-2012","YM")&" tháng và "&Datedif("12-Oct-2009","13-Jun-2012","md")&" ngày"
+Tháng + Ngày lẻ="Khoảng cách giữa 2 ngày 12-Oct-2009 và 13-Jun-2012 là "&Datedif("12-Oct-2009","13-Jun-2012","M")&" tháng và "&Datedif("12-Oct-2009","13-Jun-2012","md")&" ngày"
Các bạn copy các công thức trên để kiểm nghiệm nhé

Nếu máy tính của bạn
mặc định Separator cho Excel là dấu "." (dấu chấm) để phân cách dấu thập phân và dấu "," (Dấu phẩy) để phân cách phần nghìn, triệu thì hãy sửa dấu "," thành dấu ";" ở công thức vừa copy ra rồi nhấn Enter.
Chúc bạn thành công
Chú ý: Việc đăng lại bài viết trên ở website hoặc các phương tiện truyền thông khác mà không ghi rõ nguồn http://aneedz.com là vi phạm bản quyền