Page 1 of 1

สอบถามเรื่องการหา 10 อันดับแรก

Posted: Fri Feb 04, 2022 3:50 pm
by atomx999
ตามไฟล์ตัวอย่างผมลองทำเพื่อหายอดขายจำนวน 10 อันดับแรกมา แต่เจอปัญหารายการ B, C มันแสดงรหัสผู้ขายผิด ไม่ทราบว่าควรแก้ไขอย่างไรดีครับ

ขอบคุณครับ

Re: สอบถามเรื่องการหา 10 อันดับแรก

Posted: Fri Feb 04, 2022 5:20 pm
by norkaz
...

F8:G17
=HLOOKUP(F$7,$A$1:$D$112,ROUND(MOD(INDEX(AGGREGATE(14,6,INDEX($B$2:$D$112,0,MATCH($G$7,$B$1:$D$1,0))+ROW($B$2:$B$112)/1000000,ROW($B$1:$B$112)),ROWS(F$7:F7)),1)*1000000,0),0)

I8:J17
=HLOOKUP(I$7,$A$1:$D$112,ROUND(MOD(INDEX(AGGREGATE(14,6,INDEX($B$2:$D$112,0,MATCH($J$7,$B$1:$D$1,0))+ROW($B$2:$B$112)/1000000,ROW($B$1:$B$112)),ROWS(I$7:I7)),1)*1000000,0),0)

L8:M17
=HLOOKUP(L$7,$A$1:$D$112,ROUND(MOD(INDEX(AGGREGATE(14,6,INDEX($B$2:$D$112,0,MATCH($M$7,$B$1:$D$1,0))+ROW($B$2:$B$112)/1000000,ROW($B$1:$B$112)),ROWS(L$7:L7)),1)*1000000,0),0)

Norkaz

Re: สอบถามเรื่องการหา 10 อันดับแรก

Posted: Fri Feb 04, 2022 5:32 pm
by snasui
:D ตัวอย่างสูตรอีกรูปแบบตามด้านล่างครับ
  1. ที่ G8 คีย์
    =LARGE(B$2:B$113,ROWS(G$8:G8))
    Enter > Copy ลงด้านล่าง
  2. ที่ F8 คีย์
    =INDEX($A:$A,AGGREGATE(14,6,ROW($A$2:$A$113)/($B$2:$B$113=G8),COUNTIFS(G$8:G8,G8)))
    Enter > Copy ลงด้านล่าง
  3. ที่ J8 คีย์
    =LARGE($C$2:$C$113,ROWS(J$8:J8))
    Enter > Copy ลงด้านล่าง
  4. ที่ I8 คีย์
    =INDEX($A:$A,AGGREGATE(14,6,ROW($A$2:$A$113)/($C$2:$C$113=J8),COUNTIFS(J$8:J8,J8)))
    Enter > Copy ลงด้านล่าง
  5. ที่ M8 คีย์
    =LARGE($D$2:$D$113,ROWS(M$8:M8))
    Enter > Copy ลงด้านล่าง
  6. ที่ L8 คีย์
    =INDEX($A:$A,AGGREGATE(14,6,ROW($A$2:$A$113)/($D$2:$D$113=M8),COUNTIFS(M$8:M8,M8)))
    Enter > Copy ลงด้านล่าง
ไม่ควรสร้าง Array โดยคลุมพื้นที่และสร้างสูตรตามด้วย Ctrl+Shift+Enter หากพื้นที่ผลลัพธ์ขนาดใหญ่จะยุ่งยากลำบากในการแก้ไขครับ

Re: สอบถามเรื่องการหา 10 อันดับแรก

Posted: Sat Feb 05, 2022 8:13 am
by atomx999
สอบถามครับ
แล้วถ้าสมมุติว่าเอาแค่ 5 อันดับแรก
รายการ Product B
อันดับที่ 4 ควรเป็น SL45009
อันดับที่ 5 ควรเป็น SL45014

มันต้องทำการ Sort เองอีกทีใช่ไหมครับ

Re: สอบถามเรื่องการหา 10 อันดับแรก

Posted: Sat Feb 05, 2022 8:56 am
by snasui
:D ตัวอย่างการปรับสูตรที่ I24 ครับ

=INDEX(SORT(FILTER($A$2:$A$113,$C$2:$C$113=J24),1),COUNTIFS(J$24:J24,J24))

Re: สอบถามเรื่องการหา 10 อันดับแรก

Posted: Sat Feb 05, 2022 1:10 pm
by atomx999
ขอบคุณ คุณ snasui และคุณ norkaz มากๆ เลยครับ
จะนำไปศึกษาและปรับใช้ครับ ^^