Đánh số thứ tự LỚN-NHỎ theo nhóm

Liên hệ QC

wuchengcai

Thành viên chính thức
Tham gia
22/6/10
Bài viết
87
Được thích
15
Nhờ các bạn hỗ trợ giúp hàm để Đánh số thứ tự LỚN-NHỎ theo nhóm với 2 điều kiện.
Mình dùng hàm RANK nhưng tốn thời gian quá vì có khi dữ liệu của mình hơn 1000 dòng.
 

File đính kèm

  • Đánh số thứ tự LỚN-NHỎ theo nhóm.xlsx
    21.5 KB · Đọc: 27
Nhờ các bạn hỗ trợ giúp hàm để Đánh số thứ tự LỚN-NHỎ theo nhóm với 2 điều kiện.
Mình dùng hàm RANK nhưng tốn thời gian quá vì có khi dữ liệu của mình hơn 1000 dòng.
Công thức tại I:J, bạn làm cho các vùng khác thử xem.
Mã:
=SUMPRODUCT(($E$2:$E$30=$E2)*(G$2:G$30<=G2)*(G$2:G$30<>""))
 

File đính kèm

  • Đánh số thứ tự LỚN-NHỎ theo nhóm.xlsx
    24.5 KB · Đọc: 15
Công thức tại I:J, bạn làm cho các vùng khác thử xem.
Mã:
=SUMPRODUCT(($E$2:$E$30=$E2)*(G$2:G$30<=G2)*(G$2:G$30<>""))
Công thức của bạn sẽ không đúng tại cột M, R, V, AA nếu trong các cột G, H, I, J có 1 ô rỗng tương ứng.
 

File đính kèm

  • Đánh số thứ tự LỚN-NHỎ theo nhóm (1).xlsx
    21.3 KB · Đọc: 10
Công thức của bạn sẽ không đúng tại cột M, R, V, AA nếu trong các cột G, H, I, J có 1 ô rỗng tương ứng.
Bạn tự đặt thêm điều kiện cho trường hợp rỗng hoặc = 0 chứ. Ví dụ công thức đặt ở T2
Mã:
=IF(J2=0,"",SUMPRODUCT(($E$2:$E$30=$E2)*(J$2:J$30>=J2)*(J$2:J$30<>"")))
Tôi chỉ đưa bạn giải pháp thôi.
 
Bạn tự đặt thêm điều kiện cho trường hợp rỗng hoặc = 0 chứ. Ví dụ công thức đặt ở T2
Mã:
=IF(J2=0,"",SUMPRODUCT(($E$2:$E$30=$E2)*(J$2:J$30>=J2)*(J$2:J$30<>"")))
Tôi chỉ đưa bạn giải pháp thôi.
Việc gì phải tự, Khi gõ vài ký tự lên đây, có người làm sẵn luôn.
Mết rồi không biết ai nhờ ai giúp ở cái diễn đàn này.
 
6000 công thức mảng với mảng 1000 dòng thì sẽ bị chậm. Bạn thử công thức này xem.
Mã:
I2=RANK(G2,OFFSET($G$1,MATCH(E2,$E$2:$E$30,),,COUNTIF($E$2:$E$30,E2)),1)
 
Bạn tự đặt thêm điều kiện cho trường hợp rỗng hoặc = 0 chứ. Ví dụ công thức đặt ở T2
Mã:
=IF(J2=0,"",SUMPRODUCT(($E$2:$E$30=$E2)*(J$2:J$30>=J2)*(J$2:J$30<>"")))
Tôi chỉ đưa bạn giải pháp thôi.
Mình áp dụng công thức của bạn cho các cột R & AA thì xuất hiện lỗi khi xếp số thứ tự từ R17:R75 và AA17:AA75.
Mình có dùng thử công thức cũ thì đúng.
Bạn xem giúp mình lỗi tại chỗ nào nhé.
 

File đính kèm

  • Đánh số thứ tự LỚN-NHỎ theo nhóm.xlsx
    38.4 KB · Đọc: 8
Mình áp dụng công thức của bạn cho các cột R & AA thì xuất hiện lỗi khi xếp số thứ tự từ R17:R75 và AA17:AA75.
Công thức này, nếu dữ liệu trùng sẽ không giống hàm Rank, muôn` giống chỉnh lại:

=IF(F2=0,"",1+SUMPRODUCT(($E$2:$E$75=$E2)*(Q$2:Q$75>Q2)*(Q$2:Q$75<>"")))

Hoặc dùng COUNTIFS()
 
Công thức này, nếu dữ liệu trùng sẽ không giống hàm Rank, muôn` giống chỉnh lại:

=IF(F2=0,"",1+SUMPRODUCT(($E$2:$E$75=$E2)*(Q$2:Q$75>Q2)*(Q$2:Q$75<>"")))

Hoặc dùng COUNTIFS()
Mình giải quyết lỗi trên bằng hàm này luôn rùi:
=IF(F2=0,"",RANK(Q2,OFFSET($Q$1,MATCH(E2,$E$2:$E$45,),,COUNTIF($E$2:$E$45,E2))))
Có vấn đề mới phát sinh (file đính kèm), mình dùng hàm của bạn và hàm trên của mình để đặt điều kiện nhưng cột K khi xếp hạng đều gộp nhóm điều kiện cột H để xếp.
Bạn giúp mình nhé.
Cám ơn!
 

File đính kèm

  • Đánh số thứ tự LỚN-NHỎ theo nhóm (1).xlsx
    27.3 KB · Đọc: 9
Mình giải quyết lỗi trên bằng hàm này luôn rùi:
=IF(F2=0,"",RANK(Q2,OFFSET($Q$1,MATCH(E2,$E$2:$E$45,),,COUNTIF($E$2:$E$45,E2))))
Có vấn đề mới phát sinh (file đính kèm), mình dùng hàm của bạn và hàm trên của mình để đặt điều kiện nhưng cột K khi xếp hạng đều gộp nhóm điều kiện cột H để xếp.
Bạn giúp mình nhé.
Cám ơn!
Dùng COUNTIFS() để xếp hạng
 
Dùng COUNTIFS() để xếp hạng
Ý của mình là ngoài dựa vào điều kiện của cột E để xếp hạng, còn căn cứ vào điều kiện cột H để xếp hạng cho ra kết quả cột L, với điều kiện cột H là:
1. Toàn bộ là ô rỗng thì xếp hạng bình thường (H1:H14)
2. Điều kiện nào chỉ xuất hiện 1 lần (H15:H26) và các ô còn lại là rỗng thì xếp hạng chung với các ô rỗng
3. Điều kiện nào chỉ xuất hiện 1 lần (H27:H40) và các ô còn lại có điều kiện thì xếp hạng chung với các ô có điều kiện
4. Điều kiện nào xuất hiện 2 lần trở lên (H41:H43), (H44:H59), (H60:H72) thì tách ra xếp hạng riêng.
Hiện tại, cột L mình dùng hàm RANK nhưng nếu dữ liệu hơn 20000 dòng thì thủ công quá, bạn có cách nào nhanh hơn không?
Nếu COUNTIFS() thì cấu trúc hàm thế nào?
 

File đính kèm

  • Đánh số thứ tự LỚN-NHỎ theo nhóm (2).xlsx
    33.6 KB · Đọc: 6
Tham khảo link này:

 
Ý của mình là ngoài dựa vào điều kiện của cột E để xếp hạng, còn căn cứ vào điều kiện cột H để xếp hạng cho ra kết quả cột L, với điều kiện cột H là:
1. Toàn bộ là ô rỗng thì xếp hạng bình thường (H1:H14)
2. Điều kiện nào chỉ xuất hiện 1 lần (H15:H26) và các ô còn lại là rỗng thì xếp hạng chung với các ô rỗng
3. Điều kiện nào chỉ xuất hiện 1 lần (H27:H40) và các ô còn lại có điều kiện thì xếp hạng chung với các ô có điều kiện
4. Điều kiện nào xuất hiện 2 lần trở lên (H41:H43), (H44:H59), (H60:H72) thì tách ra xếp hạng riêng.
Hiện tại, cột L mình dùng hàm RANK nhưng nếu dữ liệu hơn 20000 dòng thì thủ công quá, bạn có cách nào nhanh hơn không?
Nếu COUNTIFS() thì cấu trúc hàm thế nào?
Dựa trên Tiêu chí nào (hay đặc điểm gì) để bạn biết mà phân ra được các Vùng như dưới đây, để bạn tô màu chúng vậy?
Cụ thể: Các Vùng
  • E2: H14;
  • E15: H26;
  • E27: H40;
  • E41: H43;
  • E44: H59;
  • E60: H72
Nếu biết rõ tiêu chí phân Vùng như trên, tôi sẽ tạo công thức và có kết quả như cột AC (file kèm), nhờ đó bạn dùng hàm Countifs() rất dễ dàng.
Lại nếu, nhóm dòng phát sinh không quá 50 dòng, thì khi xếp hạng nó sẽ tăng tổng số dòng lên từ từ, nhờ đó nó sẽ nhẹ khi số dòng lên hơn cả 1000 dòng.
Tham khảo giải pháp nhóm Vùng theo tiêu chí của bạn đề ra.
Mã:
M2=IF(G2,COUNTIFS($AC$2:$AC50,AC2,$G$2:$G50,"<"&G2)+COUNTIFS($AC$2:$AC2,AC2,$G$2:$G2,G2),"")
Enter, fill xuống.

Thân
 

File đính kèm

  • Đánh số thứ tự LỚN-NHỎ theo nhóm (2).xlsx
    36.2 KB · Đọc: 14
Lần chỉnh sửa cuối:
Dựa trên Tiêu chí nào (hay đặc điểm gì) để bạn biết mà phân ra được các Vùng như dưới đây, để bạn tô màu chúng vậy?
Cụ thể: Các Vùng
  • E2: H14;
  • E15: H26;
  • E27: H40;
  • E41: H43;
  • E44: H59;
  • E60: H72
Nếu biết rõ tiêu chí phân Vùng như trên, tôi sẽ tạo công thức và có kết quả như cột AC (file kèm), nhờ đó bạn dùng hàm Countifs() rất dễ dàng.
Lại nếu, nhóm dòng phát sinh không quá 50 dòng, thì khi xếp hạng nó sẽ tăng tổng số dòng lên từ từ, nhờ đó nó sẽ nhẹ khi số dòng lên hơn cả 1000 dòng.
Tham khảo giải pháp nhóm Vùng theo tiêu chí của bạn đề ra.
Mã:
M2=IF(G2,COUNTIFS($AC$2:$AC50,AC2,$G$2:$G50,"<"&G2)+COUNTIFS($AC$2:$AC2,AC2,$G$2:$G2,G2),"")
Enter, fill xuống.

Thân
Mình dựa vào Tiêu chí này:
Ngoài dựa vào điều kiện của cột E để xếp hạng, còn căn cứ vào điều kiện cột H để xếp hạng cho ra kết quả cột L, với điều kiện cột H là:
1. Toàn bộ là ô rỗng thì xếp hạng bình thường (H1:H14)
2. Điều kiện nào chỉ xuất hiện 1 lần (H15:H26) và các ô còn lại là rỗng thì xếp hạng chung với các ô rỗng
3. Điều kiện nào chỉ xuất hiện 1 lần (H27:H40) và các ô còn lại có điều kiện thì xếp hạng chung với các ô có điều kiện
4. Điều kiện nào xuất hiện 2 lần trở lên (H41:H43), (H44:H59), (H60:H72) thì tách ra xếp hạng riêng.

Mình thử dùng công thức của bạn thì xếp hạng đúng ý mình, tuy nhiên có 2 chỗ cần bạn chỉnh lại:
1. Nếu trong 1 cảng có 2 giá giống nhau (E30:F31, E46:F47, E68:F69) thì phải xếp đồng hạng
2. Nếu dữ liệu trên 10000 dòng thì cột M gõ thủ công không biết khi nào xong?

Note: File đính kèm phía trên của bạn tham chiếu dữ liệu sai vị trí nên mình chỉnh lại theo đúng như file đính kèm bên dưới.
 

File đính kèm

  • Đánh số thứ tự LỚN-NHỎ theo nhóm (2) 2.xlsx
    23.6 KB · Đọc: 7
Mình dựa vào Tiêu chí này:
Ngoài dựa vào điều kiện của cột E để xếp hạng, còn căn cứ vào điều kiện cột H để xếp hạng cho ra kết quả cột L, với điều kiện cột H là:
1. Toàn bộ là ô rỗng thì xếp hạng bình thường (H1:H14)
2. Điều kiện nào chỉ xuất hiện 1 lần (H15:H26) và các ô còn lại là rỗng thì xếp hạng chung với các ô rỗng
3. Điều kiện nào chỉ xuất hiện 1 lần (H27:H40) và các ô còn lại có điều kiện thì xếp hạng chung với các ô có điều kiện
4. Điều kiện nào xuất hiện 2 lần trở lên (H41:H43), (H44:H59), (H60:H72) thì tách ra xếp hạng riêng.

Mình thử dùng công thức của bạn thì xếp hạng đúng ý mình, tuy nhiên có 2 chỗ cần bạn chỉnh lại:
1. Nếu trong 1 cảng có 2 giá giống nhau (E30:F31, E46:F47, E68:F69) thì phải xếp đồng hạng
2. Nếu dữ liệu trên 10000 dòng thì cột M gõ thủ công không biết khi nào xong?

Note: File đính kèm phía trên của bạn tham chiếu dữ liệu sai vị trí nên mình chỉnh lại theo đúng như file đính kèm bên dưới.
Các bạn GPE giúp mình với!
 
Sao không bạn nào giúp mình hết vậy?
 
Web KT
Back
Top Bottom