Mình chưa bao giờ làm về TCTV, ý mình là vầy :
+ >= 1năm mới được tính TCTV
+ .từ đủ 1~<6tháng : được tính 1/2năm
.>=6tháng : được tính 1năm
và đây là công thức mình làm lại, mình đã xem lại, thấy đúng, các bạn xem dùm mình làm đúng chưa nha, thanks.
Ở cột I, mình làm thế này :
=IF(F5=0,0,IF(AND(G5>=1,G5<6),0.5,IF(G5>=6,1,0))+F5)*E5*0.5
Hy vọng đây là
quyết định cuối cùng của bạn!
Tuy nhiên, công thức của bạn nó làm sao sao.... Bạn làm cho file nào vậy? Nếu là cái file mà bạn gửi ở bài đầu tiên trong topic này, thì cột G là cột tính ngày mà? Lẽ ra phải đi xét cột F chứ ? Thôi thì cứ cho F là cột Năm, G là cột Tháng, vậy E5 là cái gì vậy (chỗ *E5*0.5) ?
Để xem mình làm đúng hay sai, bạn nên phân tích từng phần nhỏ.
Giả sử, bạn đã tính được Năm, Tháng, Ngày làm việc.
1. Phải từ một năm trở lên mới tính TCTV, dùng biểu thức sau:
(Năm>=1) - Biểu thức sẽ cho kết quả là 1 nếu đúng, và kết quả là 0 nếu sai
2. Từ đủ 1 tháng cho đến nhỏ hơn 6 tháng (thì tính nửa năm):
AND(Tháng>=1, Tháng<6)
3. Từ trên 6 tháng (thì tính một năm):
Tháng >=6
Được rồi chứ? Tuy nhiên, để giảm bớt cái AND ở điều kiện thứ 2, bạn nên cho IF làm điều kiện 3 trước, nghĩa là cho nó xét mấy trường hợp Tháng >=6 trước, nếu không có, thì xét thêm trường hợp Tháng >=1, như vậy, ta khỏi dùng hàm AND, vì khi đó trường hợp Tháng <6 đã trở nên thừa.
Tôi gom 3 cái điều kiện này lại nhá, cho ra công thức tính số năm cho những tháng lẻ:
=(Năm>=1) * IF(Tháng>=6, 1, IF(Tháng>=1, 0.5, 0))
Sau đó chỉ cần cộng thêm số Năm tròn nữa, là xong:
=(Năm>=1) * IF(Tháng>=6, 1, IF(Tháng>=1, 0.5, 0)) + Năm
Đưa vào bài tôi đính kèm theo đây, nó sẽ là:
= (E5>=1) * IF(F5>=6, 1, IF(F5>=1, 0.5, 0)) + E5
Với cột E là số Năm, cột F là số tháng lẻ (không tròn 1 năm) của tổng thời gian làm việc.
Hoặc, nếu không thích tách ra cột năm, cột tháng, bạn có thể dùng thẳng công thức sau đây tính từ ngày vào làm việc (cột D), cho đến ngày 31/12/2008 (ô E3):
Năm: = DATEDIF(D5,$E$3,"y")
Tháng: = DATEDIF(D5,$E$3,"ym")
Số năm làm việc:
= (DATEDIF(D5,$E$3,"y")>=1) * IF(DATEDIF(D5,$E$3,"ym")>=6, 1, IF(DATEDIF(D5,$E$3,"ym")>=1, 0.5, 0)) + DATEDIF(D5,$E$3,"y")
Trong file đính kèm, bạn xem công thức của tôi ở cột tô màu vàng. Còn những gì bạn đã làm thì tôi để nguyên.