Tìm top 4 trong các cột

Liên hệ QC

van luong

Thành viên mới
Tham gia
21/6/11
Bài viết
6
Được thích
0
Mình có bảng dữ liệu ghi sản lượng sản phẩm của từng người làm được trong mỗi ngày.
Trong mỗi ngày đó mình muốn tìm ra 4 người có sản lượng cao nhất, để xếp thứ hạng 1,2,3,4.
Mình đã dùng hàm LOOKUP kết hợp với hàm LARGE nhưng không được. Vi nếu trong 1 ngày 2 người làm nhiều nhất có số sảm phẩm bằng nhau, thì nó chỉ trọn 1 người đứng trước đặt vào 2 vị trí số 1 và số 2. Như trong file mình gừi kèm thì ngày 1/8 nó trọn Ng văn B đặt vào cả 4 thứ hạng. Mình phải làm sao đây? Mong các bạn giiúp đỡ.
Xin cảm ơn!
 

File đính kèm

  • So luong san pham.JPG
    So luong san pham.JPG
    58.6 KB · Đọc: 62
  • So luong san pham.xls
    14 KB · Đọc: 194
Mình có bảng dữ liệu ghi sản lượng sản phẩm của từng người làm được trong mỗi ngày.
Trong mỗi ngày đó mình muốn tìm ra 4 người có sản lượng cao nhất, để xếp thứ hạng 1,2,3,4.
Mình đã dùng hàm LOOKUP kết hợp với hàm LARGE nhưng không được. Vi nếu trong 1 ngày 2 người làm nhiều nhất có số sảm phẩm bằng nhau, thì nó chỉ trọn 1 người đứng trước đặt vào 2 vị trí số 1 và số 2. Như trong file mình gừi kèm thì ngày 1/8 nó trọn Ng văn B đặt vào cả 4 thứ hạng. Mình phải làm sao đây? Mong các bạn giiúp đỡ.
Xin cảm ơn!
Bạn dùng công thức mảng này cho ô C16:
Mã:
=INDEX($B:$B,ROUND((1-MOD(LARGE(C$5:C$14-ROW(C$5:C$14)/10^6,ROW(1:1)),1))*10^6,0))
 
Mình có bảng dữ liệu ghi sản lượng sản phẩm của từng người làm được trong mỗi ngày.
Trong mỗi ngày đó mình muốn tìm ra 4 người có sản lượng cao nhất, để xếp thứ hạng 1,2,3,4.
Mình đã dùng hàm LOOKUP kết hợp với hàm LARGE nhưng không được. Vi nếu trong 1 ngày 2 người làm nhiều nhất có số sảm phẩm bằng nhau, thì nó chỉ trọn 1 người đứng trước đặt vào 2 vị trí số 1 và số 2. Như trong file mình gừi kèm thì ngày 1/8 nó trọn Ng văn B đặt vào cả 4 thứ hạng. Mình phải làm sao đây? Mong các bạn giiúp đỡ.
Xin cảm ơn!

C16=IF(ROWS($1:1)<=COUNT(data),OFFSET($A$1,SMALL(data,ROWS($1:1))-1,1),"")
data là cái tên được định nghĩa như sau
data =IF(RANK(Sheet1!C$5:C$14,Sheet1!C$5:C$14)<=4,ROW(Sheet1!C$5:C$14),"")
 
Lần chỉnh sửa cuối:
Mình có bảng dữ liệu ghi sản lượng sản phẩm của từng người làm được trong mỗi ngày.
Trong mỗi ngày đó mình muốn tìm ra 4 người có sản lượng cao nhất, để xếp thứ hạng 1,2,3,4.
Mình đã dùng hàm LOOKUP kết hợp với hàm LARGE nhưng không được. Vi nếu trong 1 ngày 2 người làm nhiều nhất có số sảm phẩm bằng nhau, thì nó chỉ trọn 1 người đứng trước đặt vào 2 vị trí số 1 và số 2. Như trong file mình gừi kèm thì ngày 1/8 nó trọn Ng văn B đặt vào cả 4 thứ hạng. Mình phải làm sao đây? Mong các bạn giiúp đỡ.
Xin cảm ơn!
Bài này dùng PivotTable là ngon nhất (dùng chức năng Sort and top 10)

[video=youtube;5UN_YK1U_lI]http://www.youtube.com/watch?v=5UN_YK1U_lI[/video]
 
Lần chỉnh sửa cuối:
Cảm ơn tất cả các bạn!
Mình làm như các bạn được rồi.
Thuật toán của bạn huuthang_bd mình thấy rất hay.
 
Bạn dùng công thức mảng này cho ô C16:
Mã:
=INDEX($B:$B,ROUND(([COLOR=#ff0000]1[/COLOR]-MOD(LARGE(C$5:C$14-ROW(C$5:C$14)/[COLOR=#ff0000]10^6[/COLOR],ROW(1:1)),1))*10^6,0))
Chào thầy, thầy giải thích giúp em sao lại phải dùng con số 1 10^6 mà không phải là con số khác cảm ơn thầy
 
Nếu dùng Pivot thì sẽ bị dính trường hợp chỉ lấy top 3. Không lấy theo ngày được.
 
Bạn dùng công thức mảng này cho ô C16:
Mã:
=INDEX($B:$B,ROUND((1-MOD(LARGE(C$5:C$14-ROW(C$5:C$14)/10^6,ROW(1:1)),1))*10^6,0))

Dear
anh!!
e đang cần sử dụng công thức của anh, nhưng khi làm theo thì không thấy chạy!!
mặc dù em cũng đã đặt ở ô C16 trong file bạn trên đính kèm nhưng cũng không được. anh có thể giải thích kỹ hơn giúp em được không ạ
thanks anh!
 
Dear
anh!!
e đang cần sử dụng công thức của anh, nhưng khi làm theo thì không thấy chạy!!
mặc dù em cũng đã đặt ở ô C16 trong file bạn trên đính kèm nhưng cũng không được. anh có thể giải thích kỹ hơn giúp em được không ạ
thanks anh!
ctrl+shift rồi enter nha bạn
 
Em đang cần dùng công thức giống anh nhưng nó ko ra, anh giải thích giúp em các con số được ko ạ.
 
Web KT
Back
Top Bottom