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

van luong

Thành viên mới
Tham gia ngày
21 Tháng sáu 2011
Bài viết
6
Thích
0
Điểm
0
#1
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

huuthang_bd

Thay thái độ - Đổi cuộc đời
Tham gia ngày
10 Tháng chín 2008
Bài viết
6,502
Thích
7,149
Điểm
560
#2
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))
 

phihndhsp

Thành viên gạo cội
Tham gia ngày
26 Tháng mười hai 2009
Bài viết
3,210
Thích
2,284
Điểm
560
#3
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:

ndu96081631

Ăn cùng GPE, Ở cùng GPE, Sống cùng GPE
Thành viên BQT
Super Moderator
Tham gia ngày
5 Tháng sáu 2008
Bài viết
29,432
Thích
51,032
Điểm
6,910
#4
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:

van luong

Thành viên mới
Tham gia ngày
21 Tháng sáu 2011
Bài viết
6
Thích
0
Điểm
0
#5
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.
 

lethuycaylua

Thành viên chính thức
Tham gia ngày
19 Tháng mười 2009
Bài viết
84
Thích
9
Điểm
0
#6
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
 

VetMini

Thành viên gạo cội
Tham gia ngày
21 Tháng mười hai 2012
Bài viết
5,168
Thích
5,711
Điểm
560
#8
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.
Nếu chỉ đòi hỏi đơn giản như vầy mà pivot không được thì do thiết kế kém hiệu quả. Cần thiết kế lại bảng trước khi tiếp tục công việc.
 
Tham gia ngày
20 Tháng mười hai 2016
Bài viết
1
Thích
0
Điểm
0
Tuổi
26
#9
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 ạ
Cảm ơn anh!
 
Tham gia ngày
23 Tháng chín 2010
Bài viết
13
Thích
1
Điểm
365
#10
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 ạ
Cảm ơn anh!
ctrl+shift rồi enter nha bạn
 
Top