wuchengcai
Thành viên chính thức


- Tham gia
- 22/6/10
- Bài viết
- 87
- Được thích
- 15
=IF(Sheet1!$B$2:$B$22=Sheet1!$B2,Sheet1!$D$2:$D$22,"")
=SUMPRODUCT(--(IF((xH_Cho="")+(MATCH(xH_Cho,xH_Cho,0)<>ROW($D$2:$D$22)-1),"",$D$2:$D$22)<$D2))+1
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?Đặ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 :
Tại ô G2 nhập công thức sau :Mã:=IF(Sheet1!$B$2:$B$22=Sheet1!$B2,Sheet1!$D$2:$D$22,"")
Bấm Ctrl+Shift+EnterMã:=SUMPRODUCT(--(IF((xH_Cho="")+(MATCH(xH_Cho,xH_Cho,0)<>ROW($D$2:$D$22)-1),"",$D$2:$D$22)<$D2))+1
Chi tiết xem file đính kèm.
1/ Xếp hạng theo chợ + Giá: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!
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)
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)
Bạn ơi!1/ Xếp hạng theo chợ + Giá:
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.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)
2/ Xếp hạng theo Chợ & Xuất Xứ + Giá
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.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)
Thân
Rượu cũ, bình cũ; nhãn mới:1/ Xếp hạng theo chợ + Giá:
2/ Xếp hạng theo Chợ & Xuất Xứ + Giá
Biết là vậy, bạn mình ôi!Rượu cũ, bình cũ; nhãn mới:
![]()
Đánh số thứ tự LỚN-NHỎ theo nhóm
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.www.giaiphapexcel.com
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ụ.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!
H2=IF(COUNTIFS($B$2:$B$42,B2,$F$2:$F$42,F2&"")>1,T(F2),"")
wuchengcaiRượu cũ, bình cũ; nhãn mới:
![]()
Đánh số thứ tự LỚN-NHỎ theo nhóm
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.www.giaiphapexcel.com
Cám ơn sự nhiệt tình và chân tình đáng quý của bạn.Biết là vậy, bạn mình ôi!
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ụ.
Enter, fill xuống.Mã:H2=IF(COUNTIFS($B$2:$B$42,B2,$F$2:$F$42,F2&"")>1,T(F2),"")
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
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?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!
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&""))
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)
Trời ơi hay quá. Mình làm được rồi. Cám ơn bạn rất 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?
![]()
Đánh số thứ tự LỚN-NHỎ theo nhóm
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.www.giaiphapexcel.com
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:
Nếu đúng như trên, thì tôi đưa thử giải pháp thực hiện như sau:
- 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.
Thân
- 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"
Enter, fill xuống.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&""))
- Xếp hạng trong cùng cảng đến và cùng một "Nhóm" đã được phân
Kết thúc bằng Ctrl+Shift+Enter, fill qua cột 40', rồi fill hai cột xuống dưới.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)