Phân loại giúp mình

Liên hệ QC

redevinte

Thành viên chính thức
Tham gia
27/10/10
Bài viết
65
Được thích
15
Nội dung mình đã ghi rõ trong file gửi kèm. Nhìn luôn vào bảng sẽ dễ thấy hơn!
Tương ứng với mỗi loại công việc, lấy dữ liệu từ cột "Sản lượng trung bình" trong Bảng 1 so sánh với số liệu trên Bảng 2, đưa ra phân loại mầu tương ứng ở cột "Loại thẻ" trong bảng 1
(Nếu "Sản lượng trung bình" thấp hơn giá trị nhỏ nhất trong bảng mẫu (Bảng 2) thì ghi "Không đạt", nếu cao hơn giá trị lớn nhất thì ghi "Vượt định mức") đưa ra giá trị thiếu so với mức thẻ kế tiếp trong cột thiếu ở bảng 1
Ví dụ: Công nhân Lưu Thị Tiến, công việc A, sản lượng trung bình = 3.30 -> thẻ Tím, Thiếu =0.7

Các bạn giúp mình với. Mình không biết làm thế nào cả. Nếu dùng IF chắc gõ mỏi tay, mà không biết nó có cho nhiều IF như thế không nữa, hic...
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Nội dung mình đã ghi rõ trong file gửi kèm. Nhìn luôn vào bảng sẽ dễ thấy hơn!
Tương ứng với mỗi loại công việc, lấy dữ liệu từ cột "Sản lượng trung bình" trong Bảng 1 so sánh với số liệu trên Bảng 2, đưa ra phân loại mầu tương ứng ở cột "Loại thẻ" trong bảng 1
(Nếu "Sản lượng trung bình" thấp hơn giá trị nhỏ nhất trong bảng mẫu (Bảng 2) thì ghi "Không đạt", nếu cao hơn giá trị lớn nhất thì ghi "Vượt định mức") đưa ra giá trị thiếu so với mức thẻ kế tiếp trong cột thiếu ở bảng 1
Ví dụ: Công nhân Lưu Thị Tiến, công việc A, sản lượng trung bình = 3.30 -> thẻ Tím, Thiếu =0.7

Nếu chỉ phân loại màu thì dùng:
PHP:
=LOOKUP(D9,OFFSET($J$7:$M$7,MATCH(C9,$I$8:$I$24,),),$J$7:$M$7)
Đầy đủ hơn thì xem file kèm
 

File đính kèm

Lần chỉnh sửa cuối:
Bài này không dễ, cũng không khó, mình cố làm nhưng công thức dài quá trời luôn nà.

E8 =IF(D8<OFFSET($I$7;MATCH(C8;$I$8:$I$24;0);1);"Không đạt"; IF(D8>OFFSET($I$7;MATCH(C8;$I$8:$I$24;0);4);"Vượt";OFFSET($I$7;0;MATCH(D8;OFFSET($I$7;MATCH(C8;$I$8:$I$24;0);1;1;4);1))))

F8 =IF(E8="Vượt";"";VLOOKUP(C8;$I$8:$M$24;IF(E8="Không đạt";2;MATCH(E8;$I$7:$M$7;0)+1))-D8)
 

File đính kèm

Ý, công thức phân loại, dat_butmuc dùng lookup Array ngắn hơn kà.
Nhưng công thức 2 dat_butmuc hình như sót, nếu không đạt thì yêu cầu lấy cột "hồng" trừ ra số thiếu thì phải.
 
Ý, công thức phân loại, dat_butmuc dùng lookup Array ngắn hơn kà.
Nhưng công thức 2 dat_butmuc hình như sót, nếu không đạt thì yêu cầu lấy cột "hồng" trừ ra số thiếu thì phải.

Không đạt rồi thì tính mần chi !
Xem ý tác giả mần răng đã, cái cột thiếu thì tùy biến mà chỉnh sửa !
 
Dat_butmuc dùng name động nên công thức ngắn hơn phải rồi. Với lại, không dùng Name thì không dùng lookup Aray được, trừ phi lập lại Offset như sau:

=IF(D8<OFFSET($I$7;MATCH(C8;$I$8:$I$24;0);1);"Không đạt";IF(D8>OFFSET($I$7;MATCH(C8;$I$8:$I$24;0);4);"Vượt";LOOKUP(D8;OFFSET($I$7;MATCH(C8;$I$8:$I$24;0);1;1;4);$J$7:$M$7)))

Còn cột F tính số thiếu: Monalisa dùng Vlookup kiểu đó, nếu vừa đủ đạt thẻ "đen" thì số thiếu bị lỗi, do vlookup ở cột thứ 6, trong khi vùng dò tìm chỉ có 5 cột.
 
Không đạt rồi thì tính mần chi !
Xem ý tác giả mần răng đã, cái cột thiếu thì tùy biến mà chỉnh sửa !

HIc hic, hông đạt thì tính còn thiếu bi nhiu mới đạt mừ. Bạn này chắc ghét ai hông "Đạt" giống tên mình nà, hông chịu tính cho người ta nà!
 
Dat_butmuc dùng name động nên công thức ngắn hơn phải rồi. Với lại, không dùng Name thì không dùng lookup Aray được, trừ phi lập lại Offset như sau:

=IF(D8<OFFSET($I$7;MATCH(C8;$I$8:$I$24;0);1);"Không đạt";IF(D8>OFFSET($I$7;MATCH(C8;$I$8:$I$24;0);4);"Vượt";LOOKUP(D8;OFFSET($I$7;MATCH(C8;$I$8:$I$24;0);1;1;4);$J$7:$M$7)))

Còn cột F tính số thiếu: Monalisa dùng Vlookup kiểu đó, nếu vừa đủ đạt thẻ "đen" thì số thiếu bị lỗi, do vlookup ở cột thứ 6, trong khi vùng dò tìm chỉ có 5 cột.

Được mà bác, Em copy nguyên xi Name thay vào BANG như vầy, không thay đổi gì:
Bản chất Lookup đang hiểu ở đây là Vector
PHP:
=IF(MIN(OFFSET($J$7:$M$7,MATCH($C9,$I$8:$I$24,),))>D9,"Khong dat",IF(MAX(OFFSET($J$7:$M$7,MATCH($C9,$I$8:$I$24,),))<D9,"Vuot DM",LOOKUP(D9,OFFSET($J$7:$M$7,MATCH($C9,$I$8:$I$24,),),$J$7:$M$7)))
 
Lần chỉnh sửa cuối:
Hic, mình có bảo không được đâu. Mình đang sửa công thức của Monalisa mà.
Mình nói: trừ phi lập lại Offset như sau, và viết lại công thức của Monalisa ra , thay bằng Lookup đó.

(Bị nói theo nàng Mona nên vector nói theo thành Array luôn.)
 
Ah, Nhờ các bạn giúp thêm một chút nữa nhé! Nếu không tìm thấy công việc của công nhân nào đó trong bảng 1 ở trên bảng mẫu (bảng 2). Thì in ra ở cột thẻ là "Chưa tính sản lượng", tất nhiên là ở cột thiếu cũng hiển thị "Chưa tính sản lượng"!
Ví dụ: Công nhân Nguyen Van A, công việc là W, thì trên bảng 2 không có tiêu chuẩn đánh giá cho loại công việc này, Vậy nên viết "Chưa tính sản lượng"!
 
Tới đây thì chắc bạn nên tự làm thôi nha, đại khái là nếu tìm không thấy W trong hàm Match thì kết quả là "Chưa tính sản lượng", nếu thấy thì bê nguyên xi công thức bài trên vào.
Thêm 1 cái đại khái: là dùng hàm IsErr

TB: Hình như bạn không biết GPE có nút nhấn "cám ơn" thì phải? Không thấy bạn nhấn cái nào, cho ai. Mấy bài viết cám ơn sẽ bị xoá đó.
 
Tới đây thì chắc bạn nên tự làm thôi nha, đại khái là nếu tìm không thấy W trong hàm Match thì kết quả là "Chưa tính sản lượng", nếu thấy thì bê nguyên xi công thức bài trên vào.
Thêm 1 cái đại khái: là dùng hàm IsErr

TB: Hình như bạn không biết GPE có nút nhấn "cám ơn" thì phải? Không thấy bạn nhấn cái nào, cho ai. Mấy bài viết cám ơn sẽ bị xoá đó.

Đã nhấn "Cảm ơn", hi! Hàm IsErr thì không dùng được kết quả là #N/A, thay bằng hàm IsError thì OK!
 
Web KT

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

Back
Top Bottom