Xếp hạng giá bán tạp hóa theo chợ (1 người xem)

Liên hệ QC

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

wuchengcai

Thành viên chính thức
Tham gia
22/6/10
Bài viết
87
Được thích
15
Dear ACE

Mình có file xếp hạng giá bán các tạp hóa theo từng chợ.
Mình muốn xếp hạng từ nhỏ đến lớn, nếu có 2 giá giống nhau thì xếp đồng hạng, sau đó sẽ xếp hạng liên tục không nhảy số.
ACE xem giúp mình nhé.
Cám ơn all.
 

File đính kèm

Đặt con trỏ chuột tại ô G2, bấm Ctrl+F3 tạo 1 name tên xH_Cho với công thức như sau :
Mã:
=IF(Sheet1!$B$2:$B$22=Sheet1!$B2,Sheet1!$D$2:$D$22,"")
Tại ô G2 nhập công thức sau :
Mã:
=SUMPRODUCT(--(IF((xH_Cho="")+(MATCH(xH_Cho,xH_Cho,0)<>ROW($D$2:$D$22)-1),"",$D$2:$D$22)<$D2))+1
Bấm Ctrl+Shift+Enter

Chi tiết xem file đính kèm.
 

File đính kèm

Đặt con trỏ chuột tại ô G2, bấm Ctrl+F3 tạo 1 name tên xH_Cho với công thức như sau :
Mã:
=IF(Sheet1!$B$2:$B$22=Sheet1!$B2,Sheet1!$D$2:$D$22,"")
Tại ô G2 nhập công thức sau :
Mã:
=SUMPRODUCT(--(IF((xH_Cho="")+(MATCH(xH_Cho,xH_Cho,0)<>ROW($D$2:$D$22)-1),"",$D$2:$D$22)<$D2))+1
Bấm Ctrl+Shift+Enter

Chi tiết xem file đính kèm.
Nếu cột Giá Bán có 1 ô rỗng thì không xếp hạng ô đó, lúc đó công thức chỉnh thế nào để cho ra kết quả như cột J vậy bạn?
Tiện đây, Nếu mình chèn thêm cột xuất xứ thì kết quả sẽ như cột L, M. Bạn giúp mình luôn nhé.
Cám ơn nhiều!
 

File đính kèm

Nếu cột Giá Bán có 1 ô rỗng thì không xếp hạng ô đó, lúc đó công thức chỉnh thế nào để cho ra kết quả như cột J vậy bạn?
Tiện đây, Nếu mình chèn thêm cột xuất xứ thì kết quả sẽ như cột L, M. Bạn giúp mình luôn nhé.
Cám ơn nhiều!
1/ Xếp hạng theo chợ + Giá:
Mã:
I2=COUNT(1/(D2>AGGREGATE(15,6,D$2:$D$100/(MATCH(D$2:$D100,IF(($B$2:$B$100=$B2)*(D$2:D$100>0),D$2:D$100),)=ROW($1:$100)),ROW($1:$100))))+(D2>0)
Kết thúc bằng Ctrl+Shift+Enter. Copy qua phải 1 cột, rồi fill cả 2 cột xuống.

2/ Xếp hạng theo Chợ & Xuất Xứ + Giá
Mã:
L2=COUNT(1/(D2>AGGREGATE(15,6,D$2:$D$100/(MATCH(D$2:$D100,IF(($B$2:$B$100=$B2)*(D$2:D$100>0)*($F$2:$F$100=$F2),D$2:D$100),)=ROW($1:$100)),ROW($1:$100))))+(D2>0)
Kết thúc bằng Ctrl+Shift+Enter. Copy qua phải 1 cột, rồi fill cả 2 cột xuống.

Thân
 

File đính kèm

1/ Xếp hạng theo chợ + Giá:
Mã:
I2=COUNT(1/(D2>AGGREGATE(15,6,D$2:$D$100/(MATCH(D$2:$D100,IF(($B$2:$B$100=$B2)*(D$2:D$100>0),D$2:D$100),)=ROW($1:$100)),ROW($1:$100))))+(D2>0)
Kết thúc bằng Ctrl+Shift+Enter. Copy qua phải 1 cột, rồi fill cả 2 cột xuống.

2/ Xếp hạng theo Chợ & Xuất Xứ + Giá
Mã:
L2=COUNT(1/(D2>AGGREGATE(15,6,D$2:$D$100/(MATCH(D$2:$D100,IF(($B$2:$B$100=$B2)*(D$2:D$100>0)*($F$2:$F$100=$F2),D$2:D$100),)=ROW($1:$100)),ROW($1:$100))))+(D2>0)
Kết thúc bằng Ctrl+Shift+Enter. Copy qua phải 1 cột, rồi fill cả 2 cột xuống.

Thân
Bạn ơi!
Nếu cùng chợ, xuất xứ chỉ xuất hiện 1 lần thì xếp hạng chung với các ô còn lại.
Nếu cùng chợ, xuất xứ xuất hiện 2 lần trở lên thì mới tách riêng ra xếp hạng.
Ví dụ: Chợ Phạm Văn Hai, có xuất xứ Long An và Bà Rịa xuất hiện 1 lần thì xếp hạng chung luôn.

Cám ơn!
 

File đính kèm

Rượu cũ, bình cũ; nhãn mới:
Biết là vậy, bạn mình ôi! :p
Do cái kia đã góp ý, nhưng giải thích lòng vòng không rõ ràng, thì đành ngưng vì không biết sao mà lần.
Nay, chủ chớt nhanh trí, làm tỷ dụ cái gần giống cái đó, lại dễ hiểu hơn, thì mình xử theo kiểu nhanh trí.
Âu lấy sự phóng khoáng và chân tình làm trọng.

Thân
/-*+//-*+//-*+/
Nếu cùng chợ, xuất xứ chỉ xuất hiện 1 lần thì xếp hạng chung với các ô còn lại.
Nếu cùng chợ, xuất xứ xuất hiện 2 lần trở lên thì mới tách riêng ra xếp hạng.
Ví dụ: Chợ Phạm Văn Hai, có xuất xứ Long An và Bà Rịa xuất hiện 1 lần thì xếp hạng chung luôn.

Cám ơn!
Buộc lòng phải thêm cột phụ để lọc trước: nếu cái nào chỉ có 1 cái thì nó cũng "trống trơn", cái nào nhiều cái thì gom thành tụ.
Mã:
H2=IF(COUNTIFS($B$2:$B$42,B2,$F$2:$F$42,F2&"")>1,T(F2),"")
Enter, fill xuống.

Các công thức xếp hạng, thì thay vì lấy cột F, nay đổi thành cột H.

Thân
 

File đính kèm

Biết là vậy, bạn mình ôi! :p
Do cái kia đã góp ý, nhưng giải thích lòng vòng không rõ ràng, thì đành ngưng vì không biết sao mà lần.
Nay, chủ chớt nhanh trí, làm tỷ dụ cái gần giống cái đó, lại dễ hiểu hơn, thì mình xử theo kiểu nhanh trí.
Âu lấy sự phóng khoáng và chân tình làm trọng.

Thân
/-*+//-*+//-*+/

Buộc lòng phải thêm cột phụ để lọc trước: nếu cái nào chỉ có 1 cái thì nó cũng "trống trơn", cái nào nhiều cái thì gom thành tụ.
Mã:
H2=IF(COUNTIFS($B$2:$B$42,B2,$F$2:$F$42,F2&"")>1,T(F2),"")
Enter, fill xuống.

Các công thức xếp hạng, thì thay vì lấy cột F, nay đổi thành cột H.

Thân
Cám ơn sự nhiệt tình và chân tình đáng quý của bạn.
Gặp được những cao nhân như bạn thật đáng trân trọng.
Mình đang xử lý cái file theo yêu cầu của ông sếp, yêu cầu nhiều quá mà kiến thức excel của mình hạn chế nên mới nhờ ACE diễn đàn hỗ trợ. Chứ thật tình cũng không muốn làm phiền nhiều ACE.
Mình dùng công thức mới nhất của bạn đổ vào file thì xuất hiện lỗi như trong file đính kèm. Bạn giúp đỡ thì giúp đỡ cho trót luôn nhé.

Cám ơn nhiều nhiều!
 

File đính kèm

Cám ơn sự nhiệt tình và chân tình đáng quý của bạn.
Gặp được những cao nhân như bạn thật đáng trân trọng.
Mình đang xử lý cái file theo yêu cầu của ông sếp, yêu cầu nhiều quá mà kiến thức excel của mình hạn chế nên mới nhờ ACE diễn đàn hỗ trợ. Chứ thật tình cũng không muốn làm phiền nhiều ACE.
Mình dùng công thức mới nhất của bạn đổ vào file thì xuất hiện lỗi như trong file đính kèm. Bạn giúp đỡ thì giúp đỡ cho trót luôn nhé.

Cám ơn nhiều nhiều!
Nói gần nói xa, chẳng qua bạn muốn đích đến là file bửa trước phải không?

Khác với lần trước, nhờ bạn đưa bài ví dụ gần gần giống trong thớt này, nên tôi mới dần hiểu được bạn muốn điều gì, tóm đại khái nó như vầy phải không nha:
  • Sắp xếp hạng vé trong cùng một cảng đến cho mỗi loại container 20' (cột F) và 40' (cột G) theo điều kiện sau:
    • Tùy theo ghi chú theo chuyến (cột H) được phân ra làm hai "Nhóm":
      • "Nhóm nhiều": là nhóm có dòng ghi chú xuất hiện "cùng giống nội dung với nhau", và trên 1 lần, ví dụ:
        • Nhóm ghi chú trắng (trống rỗng), hoặc
        • Nhóm "21days at dest + 3-day detention", hoặc
        • Nhóm "Using KMTC only", hoặc
        • Nhóm "21days(14 day dem+ 7 day det)"...........
        • Đồng thời, ta lại phân ra trong cùng cảng đến, có thể xảy ra nhiều "Nhóm nhiều", ví dụ:
          • Chung cảng đến là "Jakarta", nhưng có hai "nhóm nhiều" là: "Nhóm ghi chú trắng" và "nhóm "Using KMTC only"
      • "Nhóm ít": là nhóm có dòng ghi chú xuất hiện nội dung đơn lẻ, ví dụ:
        • Nội dung: "Using KMTC only; OBL, Telex is subject to Carrier tariff", hoặc
        • Nội dung: "OBL, Telex is subject to Carrier tariff".........
    • Căn cứ lượng xuất hiện của từng chuyến trong cùng cảng đến mà ta sẽ liệt nó vào "Nhóm" nào để xếp hạng chỉ trong "Nhóm" đó, riêng các dòng thuộc "Nhóm ít", tức có nội dung đơn lẻ thì sẽ được phân vào "Nhóm nhiều" có lượng dòng cùng giống nội dung với nhau nhiều nhất. Ví dụ:
      • Cùng cảng đến là Jakarta, và có hai nhóm nhiều như ví dụ trên đã nêu, thì dòng đơn lẻ "Using KMTC only; OBL, Telex is subject to Carrier tariff" và dòng "OBL, Telex is subject to Carrier tariff" sẽ được phân vào "Nhóm nhiều nhất" có nội dung ghi chú trống rỗng.
Nếu đúng như trên, thì tôi đưa thử giải pháp thực hiện như sau:
  • Tạo cột phụ "Phân Vùng Phụ" (cột AD): để chọn lọc và đưa các dòng đơn lẻ vào "Nhóm nhiều nhất"
    Mã:
    AD2=IF(COUNTIFS($E$2:E50,$E2,$H$2:H50,$H2&"")>1,T(H2),LOOKUP(2,1/(AGGREGATE(14,6,COUNTIFS($E$2:E50,$E2,$E$2:E50,$E$2:E50,$H$2:H50,$H$2:H50&""),1)=COUNTIFS($E$2:E50,$E2,$E$2:E50,$E$2:E50,$H$2:H50,$H$2:H50&"")),$H$2:H50&""))
    Enter, fill xuống.
  • Xếp hạng trong cùng cảng đến và cùng một "Nhóm" đã được phân
    Mã:
    M2=COUNT(1/(F2>IF(MATCH(F$2:F50,IF(($D$2:$D50=$D2)*(F$2:F50>0)*($AD$2:$AD50=$AD2),F$2:F50),)=ROW($1:50),F$2:F50)))+(F2>0)
    Kết thúc bằng Ctrl+Shift+Enter, fill qua cột 40', rồi fill hai cột xuống dưới.
Thân
 

File đính kèm

Lần chỉnh sửa cuối:
Nói gần nói xa, chẳng qua bạn muốn đích đến là file bửa trước phải không?

Khác với lần trước, nhờ bạn đưa bài ví dụ gần gần giống trong thớt này, nên tôi mới dần hiểu được bạn muốn điều gì, tóm đại khái nó như vầy phải không nha:
  • Sắp xếp hạng vé trong cùng một cảng đến cho mỗi loại container 20' (cột F) và 40' (cột G) theo điều kiện sau:
    • Tùy theo ghi chú theo chuyến (cột H) được phân ra làm hai "Nhóm":
      • "Nhóm nhiều": là nhóm có dòng ghi chú xuất hiện "cùng giống nội dung với nhau", và trên 1 lần, ví dụ:
        • Nhóm ghi chú trắng (trống rỗng), hoặc
        • Nhóm "21days at dest + 3-day detention", hoặc
        • Nhóm "Using KMTC only", hoặc
        • Nhóm "21days(14 day dem+ 7 day det)"...........
        • Đồng thời, ta lại phân ra trong cùng cảng đến, có thể xảy ra nhiều "Nhóm nhiều", ví dụ:
          • Chung cảng đến là "Jakarta", nhưng có hai "nhóm nhiều" là: "Nhóm ghi chú trắng" và "nhóm "Using KMTC only"
      • "Nhóm ít": là nhóm có dòng ghi chú xuất hiện nội dung đơn lẻ, ví dụ:
        • Nội dung: "Using KMTC only; OBL, Telex is subject to Carrier tariff", hoặc
        • Nội dung: "OBL, Telex is subject to Carrier tariff".........
    • Căn cứ lượng xuất hiện của từng chuyến trong cùng cảng đến mà ta sẽ liệt nó vào "Nhóm" nào để xếp hạng chỉ trong "Nhóm" đó, riêng các dòng thuộc "Nhóm ít", tức có nội dung đơn lẻ thì sẽ được phân vào "Nhóm nhiều" có lượng dòng cùng giống nội dung với nhau nhiều nhất. Ví dụ:
      • Cùng cảng đến là Jakarta, và có hai nhóm nhiều như ví dụ trên đã nêu, thì dòng đơn lẻ "Using KMTC only; OBL, Telex is subject to Carrier tariff" và dòng "OBL, Telex is subject to Carrier tariff" sẽ được phân vào "Nhóm nhiều nhất" có nội dung ghi chú trống rỗng.
Nếu đúng như trên, thì tôi đưa thử giải pháp thực hiện như sau:
  • Tạo cột phụ "Phân Vùng Phụ" (cột AD): để chọn lọc và đưa các dòng đơn lẻ vào "Nhóm nhiều nhất"
    Mã:
    AD2=IF(COUNTIFS($E$2:E50,$E2,$H$2:H50,$H2&"")>1,T(H2),LOOKUP(2,1/(AGGREGATE(14,6,COUNTIFS($E$2:E50,$E2,$E$2:E50,$E$2:E50,$H$2:H50,$H$2:H50&""),1)=COUNTIFS($E$2:E50,$E2,$E$2:E50,$E$2:E50,$H$2:H50,$H$2:H50&"")),$H$2:H50&""))
    Enter, fill xuống.
  • Xếp hạng trong cùng cảng đến và cùng một "Nhóm" đã được phân
    Mã:
    M2=COUNT(1/(F2>IF(MATCH(F$2:F50,IF(($D$2:$D50=$D2)*(F$2:F50>0)*($AD$2:$AD50=$AD2),F$2:F50),)=ROW($1:50),F$2:F50)))+(F2>0)
    Kết thúc bằng Ctrl+Shift+Enter, fill qua cột 40', rồi fill hai cột xuống dưới.
Thân
Trời ơi hay quá. Mình làm được rồi. Cám ơn bạn rất nhiều.
 
Web KT

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

Back
Top Bottom