Lọc và sắp xếp dữ liệu có điều kiện. (1 người xem)

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

Người dùng đang xem chủ đề này

Thaiduc

Thành viên hoạt động
Tham gia
13/3/07
Bài viết
118
Được thích
6
Nhờ các anh, chị của Diễn đàn giúp mình đặt giúp công thức hoặc Code để tính:
1- Xếp hạng (Cột B) theo tỷ lệ số phiếu đạt được từ cao đến thấp.
2- B, C, A, D cùng hạng 1 và có cùng tỷ lệ là 95% nhưng chỉ chọn 03 người. Điều kiện người có tuổi lớn hơn (năm sinh nhỏ hơn) sẽ được chọn.
3- Kết quả sẽ đưa xuống bảng B14:F16 (chỉ có 03 người theo điều kiện cho trước).
Có gửi file kèm theo.
 

File đính kèm

Nhờ các anh, chị của Diễn đàn giúp mình đặt giúp công thức hoặc Code để tính:
1- Xếp hạng (Cột B) theo tỷ lệ số phiếu đạt được từ cao đến thấp.
2- B, C, A, D cùng hạng 1 và có cùng tỷ lệ là 95% nhưng chỉ chọn 03 người. Điều kiện người có tuổi lớn hơn (năm sinh nhỏ hơn) sẽ được chọn.
3- Kết quả sẽ đưa xuống bảng B14:F16 (chỉ có 03 người theo điều kiện cho trước).
Có gửi file kèm theo.
Bạn đưa thêm chút dữ liệu nữa lên đi, có tý tẹo thế này thì test sao đây?
 
Upvote 0
Nhờ các anh, chị của Diễn đàn giúp mình đặt giúp công thức hoặc Code để tính:
1- Xếp hạng (Cột B) theo tỷ lệ số phiếu đạt được từ cao đến thấp.
2- B, C, A, D cùng hạng 1 và có cùng tỷ lệ là 95% nhưng chỉ chọn 03 người. Điều kiện người có tuổi lớn hơn (năm sinh nhỏ hơn) sẽ được chọn.
3- Kết quả sẽ đưa xuống bảng B14:F16 (chỉ có 03 người theo điều kiện cho trước).
Có gửi file kèm theo.
Bạn thử cách này:
Công thức tại B2
Mã:
=SUMPRODUCT(--($E$2:$E$6*10^8-$F$2:$F$6>E2*10^8-F2))+1
Công thức mảng tại B14
Mã:
=INDEX($C$2:$C$6,MOD(SMALL($B$2:$B$6*1000+ROW($B$2:$B$6),ROW(A1)),1000)-ROW($B$1))
 
Upvote 0
Ghi công thức tại B14 nhưng báo lỗi #VALUE! bạn ơi. Không cho kết quả.
Nhờ xem lại dùm.
 
Upvote 0
công thức này có copy ra cả bảng B14:F16 được không vậy bạn ơi ?
Muốn copy ra cả bảng thì sửa lại như thế này ạ
Mã:
=INDEX(B$2:B$6,MOD(SMALL($B$2:$B$6*1000+ROW($B$2:$B$6),ROW(A1)),1000)-ROW($B$1))
Ghi công thức tại B14 nhưng báo lỗi #VALUE! bạn ơi. Không cho kết quả.
Nhờ xem lại dùm.
Bạn đọc cho kỹ nhé
Bạn thử cách này:
Công thức tại B2
Mã:
=SUMPRODUCT(--($E$2:$E$6*10^8-$F$2:$F$6>E2*10^8-F2))+1
Công thức mảng tại B14
Mã:
=INDEX($C$2:$C$6,MOD(SMALL($B$2:$B$6*1000+ROW($B$2:$B$6),ROW(A1)),1000)-ROW($B$1))
 
Upvote 0
Xin Bạn giải thích cho mình công thưc tại B2 nhé, mình chưa hiểu lắm.
 
Upvote 0
Xin Bạn giải thích cho mình công thưc tại B2 nhé, mình chưa hiểu lắm.
Khả năng trình bày của tôi rất kém nên tôi cũng chả biết giải thích cho bạn như thế nào. Thôi thì vẫn thuật toán ấy nhưng bạn dùng các cột phụ để tách công thức ra từng phần xem có hiểu được không.
Mã:
G2=E2*10^8
Mã:
H2=G2-F2
Mã:
I2=RANK(H2,$H$2:$H$6)
Nhân 10^8 là để điều kiện phụ không ảnh hưởng đến điều kiện chính.
 
Upvote 0
Cho rô bốt hỏi: Tại sao lại là 10 lũy 8 mà khơng phải lũy thừa số khác 7 hoặc 6 hoặc số nào đó?
 
Upvote 0
Cho hỏi thêm: Nếu chỉ có 02 người có số phiếu trên 50%, còn lại không đạt 50% thì chỉ lấy những người đạt trên 50% thì công thức như thế nào vậy.
 
Upvote 0
cho rô bốt hỏi: Tại sao lại là 10 lũy 8 mà khơng phải lũy thừa số khác 7 hoặc 6 hoặc số nào đó?

Mã:
b2=1+sumproduct((e2=e$2:e$6)*(f$2:f$6<f2)--(e2<e$2:e$6))
Mã:
b14=lookup(1,1/($b$2:$b$6*row($b$6)+row($b$2:$b$6)=small($b$2:$b$6*row($b$6)+row($b$2:$b$6),row(1:1))),b$2:b$6)
 
Upvote 0
Dốt thì phải chịu nghe lời nặng, nhẹ thôi.
 
Upvote 0
Web KT

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

Back
Top Bottom