
Công thức chung
=DATEDIF(start,end,"y") &" years,"&DATEDIF(start,end,"ym") &" months," &DATEDIF(start,end,"md") &" days"
Tóm lược
Để tính toán và hiển thị thời gian giữa các ngày theo ngày, tháng và năm, bạn có thể sử dụng công thức dựa trên hàm DATEDIF.
Trong ví dụ được hiển thị, công thức trong D6 là:
=DATEDIF(B6,C6,"y") &" years,"&DATEDIF(B6,C6,"ym") &" months," &DATEDIF(B6,C6,"md") &" days"
trong đó ngày bắt đầu ở cột B và ngày kết thúc ở cột C.
Giải trình
Hàm DATEDIF được thiết kế để tính toán sự khác biệt giữa các ngày trong năm, tháng và ngày. Có một số biến thể có sẵn (ví dụ: thời gian tính bằng tháng, thời gian tính bằng tháng bỏ qua ngày và năm, v.v.) và các biến thể này được đặt bởi đối số "đơn vị" trong hàm. Xem trang này trên hàm DATEDIF để biết danh sách đầy đủ các đơn vị có sẵn.
Trong ví dụ được hiển thị, chúng tôi tính toán năm, tháng và ngày riêng biệt, sau đó "kết dính" các kết quả lại với nhau bằng cách ghép nối. Để có được cả năm, chúng tôi sử dụng:
DATEDIF(B6,C6,"y")&" years,"
Để có được cả tháng, chúng tôi sử dụng:
DATEDIF(B6,C6,"ym")&" months,"
Và chúng tôi tính toán các ngày với:
DATEDIF(B6,C6,"md")&" days"
Phần còn lại của công thức chỉ đơn giản là văn bản bắt buộc được kết hợp với nhau bằng toán tử nối (&).
Không có giá trị 0
Để ngăn đầu ra của ngày, tháng hoặc năm có giá trị bằng 0, bạn có thể bọc từng hàm DATEDIF bên trong IF, như được hiển thị ở đây (đã thêm dấu ngắt dòng để dễ đọc):
= IF(DATEDIF(B6,C6,"y"), DATEDIF(B6,C6,"y")&"yr ","")& IF(DATEDIF(B6,C6,"ym"), DATEDIF(B6,C6,"ym")&" mo ","")& IF(DATEDIF(B6,C6,"md"), DATEDIF(B6,C6,"md") &" dy","")
Để ngăn dấu phẩy thừa xuất hiện trong kết quả cuối cùng, dấu phẩy đã được thay thế bằng dấu cách. Sử dụng công thức DATEDIF ban đầu làm "kiểm tra logic" bên trong IF hoạt động vì IF coi mọi kết quả khác 0 là đúng.