Tính mức thưởng theo thâm niên công tác

Liên hệ QC

Angel24

Thành viên mới
Tham gia
2/12/17
Bài viết
19
Được thích
2
Giới tính
Nữ
Mọi người cho mình hỏi. mình đang có bảng tính thưởng mức quà theo thâm niên nhưng mình dùng hàm if bị lỗi. Mn giúp mình với ạ
Mức 1: Trên 2 năm
Mức 2: Từ 1 năm đến dưới 2 năm
Mức 3: Từ 6 tháng đến dưới 1 năm
Mức 4: Dưới 6 tháng
 

File đính kèm

  • Book3.xlsx
    13.9 KB · Đọc: 26
Mọi người cho mình hỏi. mình đang có bảng tính thưởng mức quà theo thâm niên nhưng mình dùng hàm if bị lỗi. Mn giúp mình với ạ
Mức 1: Trên 2 năm
Mức 2: Từ 1 năm đến dưới 2 năm
Mức 3: Từ 6 tháng đến dưới 1 năm
Mức 4: Dưới 6 tháng
Bạn tìm hiểu hàm DATEDIF để tính thâm niên, và hàm IF để tính mức thưởng theo thâm niên.
 
Mọi người cho mình hỏi. mình đang có bảng tính thưởng mức quà theo thâm niên nhưng mình dùng hàm if bị lỗi. Mn giúp mình với ạ
Mức 1: Trên 2 năm
Mức 2: Từ 1 năm đến dưới 2 năm
Mức 3: Từ 6 tháng đến dưới 1 năm
Mức 4: Dưới 6 tháng
Bạn tham khảo cách làm của mình nhé. Bạn không cần tạo cột L như mình mà đánh chuỗi từng Mức vào công thức luôn nhé.
Công thức tại ô I5:
Mã:
=IF(G5<1;IF(H5<6;$L$4;$L$3);IF(G5<2;$L$2;$L$1))

1640136527568.png
 

File đính kèm

  • Book3.xlsx
    13.6 KB · Đọc: 18
Mọi người cho mình hỏi. mình đang có bảng tính thưởng mức quà theo thâm niên nhưng mình dùng hàm if bị lỗi. Mn giúp mình với ạ
Mức 1: Trên 2 năm
Mức 2: Từ 1 năm đến dưới 2 năm
Mức 3: Từ 6 tháng đến dưới 1 năm
Mức 4: Dưới 6 tháng
Nếu "Ngày vào công đoàn " nhập đúng là "Date", có thể thử:

="Mức "&5-MATCH(DATEDIF("Ngày vào công đoàn ",TODAY(),"M"),{0,6,12,24},1)

.
 
Mọi người cho mình hỏi. mình đang có bảng tính thưởng mức quà theo thâm niên nhưng mình dùng hàm if bị lỗi. Mn giúp mình với ạ
Mức 1: Trên 2 năm
Mức 2: Từ 1 năm đến dưới 2 năm
Mức 3: Từ 6 tháng đến dưới 1 năm
Mức 4: Dưới 6 tháng
Ô G5: =DATEDIF(F5,$G$1,"y")
Ô H5: =DATEDIF(F5,$G$1,"ym")
Ô I5: =IF(G5<1,IF(H5<6,4,3),IF(G5>2,1,2))

P/S: Lưu ý nha các bạn ơi, ngày 31/12/2021 là ngày mốc cuối năm, nên tính thâm niên là lấy ngày này chứ không phải TODAY() nhé!
 
Bạn tham khảo cách làm của mình nhé. Bạn không cần tạo cột L như mình mà đánh chuỗi từng Mức vào công thức luôn nhé.
Công thức tại ô I5:
Mã:
=IF(G5<1;IF(H5<6;$L$4;$L$3);IF(G5<2;$L$2;$L$1))

View attachment 270585
Em cảm ơn nhiều ạ
Bài đã được tự động gộp:

Nếu "Ngày vào công đoàn " nhập đúng là "Date", có thể thử:

="Mức "&5-MATCH(DATEDIF("Ngày vào công đoàn ",TODAY(),"M"),{0,6,12,24},1)

.
Em cảm ơn ạ
Bài đã được tự động gộp:

Ô G5: =DATEDIF(F5,$G$1,"y")
Ô H5: =DATEDIF(F5,$G$1,"ym")
Ô I5: =IF(G5<1,IF(H5<6,4,3),IF(G5>2,1,2))
Em cảm ơn ạ
Bài đã được tự động gộp:

Em cảm ơn tất cả anh/chị ạ. Nhờ các anh/chị mà e biết thêm nhiều công thức. e áp dụng các công thức ở trên và đều ra kết quả đúng
 
Em cảm ơn nhiều ạ
Bài đã được tự động gộp:


Em cảm ơn ạ
Bài đã được tự động gộp:


Em cảm ơn ạ
Bài đã được tự động gộp:

Em cảm ơn tất cả anh/chị ạ. Nhờ các anh/chị mà e biết thêm nhiều công thức. e áp dụng các công thức ở trên và đều ra kết quả đúng
Bạn tham khảo thêm hàm DATEDIF như anh @leonguyenz và anh @Hoàng Trọng Nghĩa hướng dẫn ở trên để mai mốt gặp tình huống tính thâm niên mà vận dụng cho công thức rút gọn đi nhiều lắm á.
Có thể bạn đang học mà "không được" dùng hàm DATEDIF để làm bài cũng nên. Mình đoán thôi.
 
Em nghĩ phải cộng thêm 1 ngày (end_day) trong hàm DATEDIF:
Ô G5: =DATEDIF(F5,$G$1+1,"y")
Ô H5: =DATEDIF(F5,$G$1+1,"ym")
Hic, tùy theo hòan cảnh mà cộng hay trừ, nó cũng giống thời gian ở khách sạn vậy, tính theo giờ hay ngày nữa. Việc này cứ để chủ topic tự tính vẫn hơn.
Ô G5: =DATEDIF(F5-1,$G$1,"y")
Ô H5: =DATEDIF(F5-1,$G$1,"ym")

Như trên cũng được, nhưng thôi, mình làm nhân sự mà, rộng rãi cho nhân viên 1 vài ngày, 1 vài tháng để đủ năm được thưởng cho người ta là do sự linh động của chúng ta. Nhưng về tính toán thì chúng ta phải chuẩn mực, thêm hay bớt đều là do cảm tính.
 
Hic, tùy theo hòan cảnh mà cộng hay trừ, nó cũng giống thời gian ở khách sạn vậy, tính theo giờ hay ngày nữa. Việc này cứ để chủ topic tự tính vẫn hơn.
Ô G5: =DATEDIF(F5-1,$G$1,"y")
Ô H5: =DATEDIF(F5-1,$G$1,"ym")

Như trên cũng được, nhưng thôi, mình làm nhân sự mà, rộng rãi cho nhân viên 1 vài ngày, 1 vài tháng để đủ năm được thưởng cho người ta là do sự linh động của chúng ta. Nhưng về tính toán thì chúng ta phải chuẩn mực, thêm hay bớt đều là do cảm tính.
Liên quan đến lương thì không thể cho là "cảm tính" được đâu anh.
Ví dụ một người vào làm ngày 01/01/2021, tính đến 31/12/2021 theo hàm DATEDIF:
- Như #6, kết quả số năm là 0, số tháng là 11.
- Như #8, kết quả số năm là 1, số tháng là 0.
Sẽ mất một mức thưởng nếu tính theo #6.
 
Liên quan đến lương thì không thể cho là "cảm tính" được đâu anh.
Ví dụ một người vào làm ngày 01/01/2021, tính đến 31/12/2021 theo hàm DATEDIF:
- Như #6, kết quả số năm là 0, số tháng là 11.
- Như #8, kết quả số năm là 1, số tháng là 0.
Sẽ mất một mức thưởng nếu tính theo #6.
Ví dụ: Sinh ngày 01/01/2021 (tính theo ngày tháng)
Thực tế: Sinh vào lúc 23 giờ 59 phút 59 giây ngày 01/01/2021
Thâm niên của người mới sinh chỉ đúng 1 giây.
 
Ví dụ: Sinh ngày 01/01/2021 (tính theo ngày tháng)
Thực tế: Sinh vào lúc 23 giờ 59 phút 59 giây ngày 01/01/2021
Thâm niên của người mới sinh chỉ đúng 1 giây.
Đang tính thâm niên (năm, tháng, ngày) mà anh, sao nhảy qua tính theo giây rồi.
Ví dụ ở trên rất rõ ràng, nếu anh không cộng thêm 1 ngày thì người lao động mất một mức thưởng.
Ví dụ khác: 1 người vào làm từ sáng đến hết ngày (đủ ca), tính công là 1 ngày, thì thâm niên của họ là 1 ngày. Nếu tính =DATEDIF(A1,A1,"d") (với A1=A1) thì kết quả là 0, kết quả sai với ý nghĩa tính thâm niên ngày.
(Chốt lại như vậy thôi nha anh, còn bàn nữa thì nhắn tin cho em, lâu rồi chưa nhậu.)
 
Ví dụ: Sinh ngày 01/01/2021 (tính theo ngày tháng)
Thực tế: Sinh vào lúc 23 giờ 59 phút 59 giây ngày 01/01/2021
Thâm niên của người mới sinh chỉ đúng 1 giây.
Thực tế là do vị bác sĩ hoặc bà mụ ghi trên giấy.

...Công thức tại ô I5:
Mã:
=IF(G5<1;IF(H5<6;$L$4;$L$3);IF(G5<2;$L$2;$L$1))
Công thức IF có khả năng ưu hoá nếu biết cách sắp xếp tham số.
Phần lớn công nhân sẽ từ 2 năm trở lên. Vì vậy ta xét trước.
=IF($G5 >= 2, 1, IF($G5 >= 1, 2, IF($H5 >= 6, 3, 4) ) )
IF thấy thoả điều kiện True rồi thì nó tính luôn chỗ đó, bỏ qua phần False. Sắp xếp tham số đúng theo tình huống dữ liệu thì nó tính nhanh hơn.

Nếu dùng hàm Match thì:
=INDEX({ 4, 3, 2, 1}, MATCH($G5*12+$H5, { 0, 6, 12, 24 }, 1) )
(dùng 5 - Match... nhanh hơn nhưng không rõ nghĩa)

Nếu dùng AND như thớt thử và bị lỗi thì:
Tôi khong biết thớt làm ra sao. Nếu đưa lên đây thì tôi có thể chỉ cho chỗ sai - tuy nhiên, đừng có viết tắt, tôi ngại những từ "e ấp" và "mò nách" lắm.
 
Bạn phải quy về một mốc thời gian theo năm hoặc tháng. Giống như giải ngoại hạng Anh bắt đầu giải đấu đến kết thúc giải chỉ có 38 vòng, 38 tuần
1640247128316.png

để thế này cho nó dễ so sánh

1640247555025.png

1640247726140.png

30.5 là số ngày trung bình mỗi tháng

1640249037523.png

Cánh gì thì cũng cho về chung một kết quả
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom