Xin nhờ giúp: Tìm Max với nhiều điều kiện (1 người xem)

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

blq.trung

Thành viên hoạt động
Tham gia
30/8/10
Bài viết
170
Được thích
7
Xin chào các anh/chị trong diễn đàn,

Em có 1 bài tập tìm giá bán mà tại đó có Số lượng bán ra cao nhất. Anh/chị vui lòng xem file đính kèm và giúp em bài tập này nha.

Em xin cảm ơn rất nhiều.

Thân ái.-\\/.-\\/.-\\/.-\\/.-\\/.-\\/.
 

File đính kèm

Xin chào các anh/chị trong diễn đàn,

Em có 1 bài tập tìm giá bán mà tại đó có Số lượng bán ra cao nhất. Anh/chị vui lòng xem file đính kèm và giúp em bài tập này nha.

Em xin cảm ơn rất nhiều.

Thân ái.-\\/.-\\/.-\\/.-\\/.-\\/.-\\/.
Bạn sử dụng công thức mảng sau:
Mã:
[J3]=LOOKUP(9^99,IF($E$3:$E$28=MAX(IF($B$3:$B$28&"_"&$C$3:$C$28=H3&"_"&I3,$E$3:$E$28,"")),$D$3:$D$28,""))
[K3]=LOOKUP(REPT("z",255),IF($E$3:$E$28=MAX(IF($B$3:$B$28&"_"&$C$3:$C$28=H3&"_"&I3,$E$3:$E$28,"")),$F$3:$F$28,0))
Điều kiện là cột H phải điền đầy đủ.
 
Xin chào các anh/chị trong diễn đàn,
Em có 1 bài tập tìm giá bán mà tại đó có Số lượng bán ra cao nhất. Anh/chị vui lòng xem file đính kèm và giúp em bài tập này nha.
Em xin cảm ơn rất nhiều.
Thân ái
Giá bán có số lượng cao nhất:
J3 =LOOKUP(2,1/($E$3:$E$28=MAX(IF(($B$3:$B$28=LOOKUP("zzzzz",$H$3:H3))*($C$3:$C$28=I3),$E$3:$E$28,""))),$D$3:$D$28)
Import hay Local:
K3 =LOOKUP(2,1/($B$3:$B$28=LOOKUP("zzzzz",$H$3:H3))/($C$3:$C$28=I3)/($D$3:$D$28=J3),$F$3:$F$27)
Công thức mảng, kết thúc bằng Ctrl + Shift + Enter
 
Xin cảm ơn anh Hoàng Nghĩa Phúc, và anh Phuocam nhiều.
 
Giá bán có số lượng cao nhất:
J3 =LOOKUP(2,1/($E$3:$E$28=MAX(IF(($B$3:$B$28=LOOKUP("zzzzz",$H$3:H3))*($C$3:$C$28=I3),$E$3:$E$28,""))),$D$3:$D$28)
Import hay Local:
K3 =LOOKUP(2,1/($B$3:$B$28=LOOKUP("zzzzz",$H$3:H3))/($C$3:$C$28=I3)/($D$3:$D$28=J3),$F$3:$F$27)
Công thức mảng, kết thúc bằng Ctrl + Shift + Enter
Công thức: K3 =LOOKUP(2,1/($B$3:$B$28=LOOKUP("zzzzz",$H$3:H3))/($C$3:$C$28=I3)/($D$3:$D$28=J3),$F$3:$F$27) cho kết quả N/A. Anh Phuocam xem lại giúp em nha. Thanks anh
 
Công thức: K3 =LOOKUP(2,1/($B$3:$B$28=LOOKUP("zzzzz",$H$3:H3))/($C$3:$C$28=I3)/($D$3:$D$28=J3),$F$3:$F$27) cho kết quả N/A. Anh Phuocam xem lại giúp em nha. Thanks anh

Có thể bạn làm sai quy trình
Trình tự đúng phải thế này:
- Gõ công thức tại J3 trước
- Gõ xong phải kết thúc bằng tổ hợp phím Ctrl + Shift + Enter
- Cuối cùng mới gõ công thức tại K3 (công thức ở K3 chỉ cần Enter bình thường)
 
Tôi thử thấy hàm này cũng tốt, không biết còn lỗi nào không

=OFFSET(D2,MATCH( MAX(E3:E28),E3:E28,0),0)
 
Có thể bạn làm sai quy trình
Trình tự đúng phải thế này:
- Gõ công thức tại J3 trước
- Gõ xong phải kết thúc bằng tổ hợp phím Ctrl + Shift + Enter
- Cuối cùng mới gõ công thức tại K3 (công thức ở K3 chỉ cần Enter bình thường)
Em xin cảm ơn thầy nhiều./-*+//-*+//-*+/
 
Hàm của anh trả về kết quả không đúng rồi, anh kiểm tra lại xem.

Đúng thế. Tôi coi là chỉ có 1 mặt hàng và chỉ có 1 cửa hàng.

Nhìn công thức của các thành viên khác thì "hoa cả mắt".

nên cố thử bàng Pivot cũng không được. Chuyển sang Access để dùng SQL cũng không thành công.

Nói vậy để thấy ưu thế của Excel.

Có thể vẫn còn sai, chẳng hạn có cách lựa chọn nào đó trên pivot thì có kết quả đùng. Ai thấy xin được ghi nhận và cảm ơn
 
Đây là công thức ở ô J3 của em, mong các sư phụ chỉ giáo ạ

=+LOOKUP(2,1/(MAX(($E$3:$E$28)*(H3=$B$3:$B$28)*(I3=$C$3:$C$28))=$E$3:$E$28),$D$3:$D$28)
 
Lần chỉnh sửa cuối:
Mình mới bắt đầu học công thức mảng, Nghĩ mãi mới được công thức này. Bạn kiểm tra xem đúng không.

Mong các sư phụ cho ý kiến ạ!

Bạn Đặt 2 Name như sau:
tim=(Sheet1!$B$3:$B$28=Sheet1!$H3)*(Sheet1!$C$3:$C$28=Sheet1!$I3)*(Sheet1!$E$3:$E$28)

so=count(tim)

bôi đen ô j3:k3, gõ công thức như sau:

=INDEX($D$3:$F$28;MAX(IF(MAX(tim)=tim;ROW(INDIRECT("1:"&so));0));{1\3})

gõ ctrl+shift+enter

copy xuống các ô còn lại. Chú ý cột H phải điền đầy đủ
+-+-+-+
 

File đính kèm

Công thức số 2 của bạn phuocam sai: ví dụ hàng dưới cùng sửa thành Toshiba - TV - 66 - 1 -xxx thì tuy số lượng là 1 (ít nhất) nhưng vẫn ra kết quả xxx mà không phải là Local ứng với hàng 23.
Công thức của mình cũng không biết đúng không (kết thúc Ctrl-Shift-Enter)
Mã:
J3=INDEX($D$3:$D$28,MATCH(1,($B$3:$B$28=H3)*($C$3:$C$28=I3)*($E$3:$E$28=MAX(IF($B$3:$B$28=H3,IF($C$3:$C$28=I3,$E$3:$E$28,0),0))),0))
K3=INDEX($F$3:$F$28,MATCH(1,($B$3:$B$28=H3)*($C$3:$C$28=I3)*($E$3:$E$28=MAX(IF($B$3:$B$28=H3,IF($C$3:$C$28=I3,$E$3:$E$28,0),0))),0))
 
Lần chỉnh sửa cuối:
Công thức số 2 của bạn phuocam sai: ví dụ hàng dưới cùng sửa thành Toshiba - TV - 66 - 1 -xxx thì tuy số lượng là 1 (ít nhất) nhưng vẫn ra kết quả xxx mà không phải là Local ứng với hàng 23.
Công thức K3 tính rút gọn nhưng ...sai,
Sửa lại, làm cũng giống công thức J3 chỉ đổi cột kết quả:
K3 =LOOKUP(2,1/($E$3:$E$28=MAX(IF(($B$3:$B$28=LOOKUP("zzzzz",$H$3:H3))*($C$3:$C$28=I3),$E$3:$E$28,""))),$F$3:$F$28)
Kết thúc bằng Ctrl-Shift-Enter
 
Công thức K3 tính rút gọn nhưng ...sai,
Sửa lại, làm cũng giống công thức J3 chỉ đổi cột kết quả:
K3 =LOOKUP(2,1/($E$3:$E$28=MAX(IF(($B$3:$B$28=LOOKUP("zzzzz",$H$3:H3))*($C$3:$C$28=I3),$E$3:$E$28,""))),$F$3:$F$28)
Kết thúc bằng Ctrl-Shift-Enter
Vẫn sai bạn ơi, bạn thay số lượng ở dòng cuối =34534 (= dòng 23) thì giá lại ra 55 mặc dù dòng cuối là SONY. Nói chung LOOKUP có vẻ không ổn lắm, mình khoái INDEX với MATCH hơn vì dễ hiểu.
 
Vẫn sai bạn ơi, bạn thay số lượng ở dòng cuối =34534 (= dòng 23) thì giá lại ra 55 mặc dù dòng cuối là SONY. Nói chung LOOKUP có vẻ không ổn lắm, mình khoái INDEX với MATCH hơn vì dễ hiểu.
Đã tìm ra lỗi, hai công thức trên sai khi có cùng số lượng bằng số lượng Max, nó sẽ cho kết quả dòng cuối cùng.
 
Xin cảm ơn sự giúp đỡ tận tình của các anh/chị trong diễn đàn.}}}}}}}}}}}}}}}}}}}}}}}}}
 
Bạn làm theo công thức như file đính kèm sẽ ra được kết quả đúng. :)
 

File đính kèm

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

Back
Top Bottom