Mình muốn chuyển [FONT='.VnTime']PP = 2,2 năm[/FONT][FONT='.VnTime'] = 2 năm 2 tháng 12 ngày[/FONT] [FONT='.VnTime']Thì làm thế nào các bạn nhỉ?[/FONT]
Có lẽ bạn thắc mắc tại sao dùng INT cho ngày làm gì, vì lấy số đã cho nhân với 360 là ra tổng số ngày rồi, sau đó đem trừ đi số năm nhân với 360 và trừ đi số tháng nhân với 30, thì phải ra số ngày còn lại (nếu còn) chứ...
Vâng, bạn thử bỏ cái INT() cho phần tính ngày đi... Bạn sẽ thấy:
2.2 = 2 năm 2 tháng 12.0000000000001 ngày
Phải dùng thêm INT() là vậy đó bạn à. Đây là một cái lỗi "trời ơi" của Excel mà chắc chỉ bác Bill mới trị được.
À, riêng phần tính ngày này, thay vì dùng INT(), bạn dùng TRUNC() cũng được.
Không biết có còn cách nào ngắn hơn không (mà không dùng UDF)
Nhưng bác ơi, làm theo cách của bác, thì 2.2 năm = 13 ngày 3 tháng 2 năm
Em tính nhẩm thôi nhé:
2 năm = 365.25 x 2 = 730.5 ngày
3 tháng, cho trung bình tháng 30 ngày đi, = 90 ngày
cộng thêm 13 ngày nữa, vậy tổng số ngày = 730.5 + 90 + 13 = 833.5 ngày
Bi giờ chia lại cho 365.25 (là con số bác dùng để nhân) = 2.28 (hơn 2.2 rồi bác ơi)
Mà nếu nhân cho 360 thôi, nó cũng ra 2.2 năm = 2 ngày 3 tháng 2 năm
Nội cái 2 năm 3 tháng đã = 810 ngày, là = 2.25 năm rồi...
Còn cái của em, 2 năm 2 tháng 12 ngày: (2 x 360 + 2 x 30 + 12)/360 = 2.2
Cách của bác ngắn, nhưng hình như không đúng, bác à.
cách làm của Kongcom không ổn: A1 x 365.25 ra kết quả là số ngày giả sử là N, nếu lấy số ngày này định dạng date (+ customize) sẽ ra ngày tháng năm của ngày thứ N kể từ 00/00/1900. Sẽ có 1 điều sai:
nếu A1 = 0,01 --> N = 3,6525, định dạng ngày sẽ là 03/01/1900 --> định dạng customize --> 3 ngày 1 tháng 00 năm.