Tính tiền thưởng theo năm công tác cần giúp đỡ

  • Thread starter Thread starter salam
  • Ngày gửi Ngày gửi
Liên hệ QC

salam

Thành viên gắn bó
Tham gia
4/11/06
Bài viết
1,945
Được thích
1,896
Giới tính
Nam
Nghề nghiệp
Accountant
Em có bảng tính tiền thường cho công nhân theo năm công tác và theo xếp loại mong các bác giúp đỡ
VD:
Năm CT có 8 mức 0-2.2-4.4-6.6-8 ....14-16
Loại có 2 loại S và SS
tương ứng với năm CT và Loại có số tiền cụ thể.
Các bác giúp em tính cột tiền thưởng với. Em gửi file kèm
Xin cám ơn các bác
 

File đính kèm

Bạn xem thử như vầy có đúng ý ko?
ANH TUẤN
 

File đính kèm

Cách chuyển đổi INT((J7-0,0001)/2)+2 rất hay, nếu không suy luận tìm quy luật tương quan để chuyển đổi chắc phải dùng 4, 5 cái if lồng nhau.
Thanks a lot. Thế là học được ở bạn 1 bài biến khó thành dễ.
 
Cám ơn bác Tuấn em thấy bác sử dụng hàm Int hơi bị hay đó. Em dùng Hlookup phải lồng vào đến 7 hay 8 lần hàm if gì đấy mới được. cách của bác ngắn gọn quá cám ơn bác .
 
Công thức trên sẽ bị sai nếu năm ct là 0 và >16.
Thông thường nếu hàm if có > 7 vòng lặp thì ta có thể dùng ct:
=if(b1<=2,1,0)+if(and(b1>2,b1<=4),2,0)+...+if(and(b1>14,b1<=16),7,0)+if(b1>16,8,0)...
Tham khảo if có hơn 7 vòng lặp, bài của Chị handung107.
Còn không phải dùng match(...,....,1) hay vlookup(..........,1) do số năm ct tăng dần.
 
Yên tâm là năm ko bao giờ có vụ 0 (dù đi làm 1 ngày cũng là 0 phẩy mấy mấy..)... đúng ko? Còn như năm lớn hơn 16 thì tất nhiên trong bảng dò phải có 1 cột nữa chứ... hi.. hi...
Kết luận cuối cùng là... ko thể nào sai dc.. Giãi pháp IF luôn là giãi pháp cuối cùng trong trường hợp bất khả kháng... Ai lại lồng cả đống IF như thế cho rối..
---------------------
Nói thêm chút nữa: công thức dựa trên dử liệu có sẳn, nhưng nếu như bạn vẫn lo ngại năm =0 thì lồng thêm hàm MAX nữa vào:
Mã:
K6=VLOOKUP(I6,$A$1:$I$3,MAX(0,INT((J6-0.0001)/2))+2,0)
Ổn rồi chứ ?
Còn trường hợp năm >16 là chuyện vô lý nhất trên đời... ha.. ha.. nhưng nếu bạn vẫn ko yên tâm thì thêm 1 thằng MIN nữa vào.. dù sao vẫn gọn hơn 1 đóng hổ lốn IF ấy
 
Lần chỉnh sửa cuối:
Không phải mình sợ có năm 0, vì như bạn Tuấn nói, 1 ngày cũng lớn hơn 0,0001. Mình cũng không sợ năm >16 vì nếu có phải thêm 1 cột cho nó.
Mình cũng không sợ khoảng cách tăng lên 3 hay 4 năm, chỉ cần hễ khoảng cách bao nhiêu chia cho bấy nhiêu là được.
Nhưng mình chỉ sợ các ông lãnh đạo cho quyết định thưởng với khoảng cách thâm niên không đều nhau và chả có quy luật gì thôi.
Lúc bấy giờ lại phải tìm cách khác, có thể vẫn không cần dùng nhiều if, thí dụ chèn ô vào cho bằng khoảng cách lớn nhất chẳng hạn. Mình vẫn chịu công thức đơn giản và quan trọng là đừng quá dài!
 
salam đã viết:
Em có bảng tính tiền thường cho công nhân theo năm công tác và theo xếp loại mong các bác giúp đỡ
VD:
Năm CT có 8 mức 0-2.2-4.4-6.6-8 ....14-16
Loại có 2 loại S và SS
tương ứng với năm CT và Loại có số tiền cụ thể.
Các bác giúp em tính cột tiền thưởng với. Em gửi file kèm
Xin cám ơn các bác

Bạn xem thử với Vlookup nhé !!

Thân!
 

File đính kèm

He... he... Các bạn ra yêu cầu thì tất nhiên tôi sẽ bám vào dử liệu có sẳn mà ra thuật toán, đúng ko? Giãi pháp đúng cho trường hợp tổng quát luôn là 1 giãi pháp khó nhất.. Tất nhiên ta đâu có ngu mà đút đầu vào cái khó..
Tôi giã sử trường hợp số năm ko cách đều nhau thì ta vẫn có cách dò tìm ko chính xác cơ mà...
Bắp giãi quyết vấn đề có thêm cột phụ cũng hay, nhưng theo tôi là ko cần thiết.. đằng nào cũng sort, vậy thôi ta sửa lại tiêu đề cùa bảng dò 1 chút và sort nó tăng dần là dc rồi
 
Cám ơn các bác đã nhiệt tình giúp đỡ. Theo em thì một vấn đề cần giúp đỡ thì thường người cầu đã đưa ra các điều kiện của yêu cầu đó rồi. Khi các bác giúp đỡ thì các bác có thể đặt ra nhiều tình huống có thể xảy ra. Cái đó rất giúp ích cho người cần giúp đỡ, Em xin cám ơn các bác. Về vấn đề của em: Năm CT luôn >0 và mức thưởng cuối cùng là 16 năm CT và mỗi mức chênh nhau 2 năm như em đã nói.
Cám ơn các bác!
 
Web KT

Bài viết mới nhất

Back
Top Bottom