Page 1 of 1

หาค่า Top 3 จากตัวควบคุมฟอร์มและมีค่าซ้ำ

Posted: Wed Apr 18, 2018 10:11 pm
by shevy
หาค่า Top 3 จากตัวควมคุมฟอร์ม เมื่อเลือกตัวควบคุมฟอร์มแบบ list ให้แสดงค่า sale top 3 ของทีมนั้นๆ ทั้ง 3 ลำดับค่ะ

Re: หาค่า Top 3 จากตัวควบคุมฟอร์มและมีค่าซ้ำ

Posted: Wed Apr 18, 2018 10:37 pm
by snasui
:D อ่านแล้วไม่กระจ่างครับ

จากไฟล์แนบเซลล์ B24:B26 นำมาจากเซลล์ไหนจึงได้ค่าเท่านั้นช่วยอธิบายเพิ่มเติมด้วยครับ

Re: หาค่า Top 3 จากตัวควบคุมฟอร์มและมีค่าซ้ำ

Posted: Thu Apr 19, 2018 9:13 am
by shevy
ที่ G24 - G26 นำค่ามาจาก G6 มาแสดงเมื่อทำการเลือกแล้ว
ที่ H24 - H26 จะแสดงค่ามาจาก column C2 - C103 และ ที่ J24 - J26 นำค่ามาจาก E2 - E103 ค่ะ

Re: หาค่า Top 3 จากตัวควบคุมฟอร์มและมีค่าซ้ำ

Posted: Thu Apr 19, 2018 11:16 am
by parakorn
อาจทำหลายขั้นตอนนะครับ หากรวบรัดเหลือสูตรเดียวอาจต้องรอท่านอื่นช่วยครับ

F2 =IF($D2=$G$6,$E2,0) Enter+Copy ลงด้านล่างจนสุดตาราง

M10 =INDEX($C$2:$C$103,SMALL(IF(FREQUENCY(IF($D$2:$D$103=$G$6,MATCH($C$2:$C$103,$C$2:$C$103,0)),ROW($C$2:$C$103)-ROW($C$2)+1),ROW($C$2:$C$103)-ROW($C$2)+1),ROWS($M$10:$M10))) ctrl+shift+enter แล้ว Copy ลงไป 3บรรทัด

N10 =SUMIFS($F$2:$F$103,$C$2:$C$103,INDEX($C$2:$C$103,SMALL(IF(FREQUENCY(IF($D$2:$D$103=$G$6,MATCH($C$2:$C$103,$C$2:$C$103,0)),ROW($C$2:$C$103)-ROW($C$2)+1),ROW($C$2:$C$103)-ROW($C$2)+1),ROWS($M$10:$M10)))) ctrl+shift+enter แล้ว Copy ลงไป 3บรรทัด

I24 =LARGE($N$10:$N$12,ROWS($I$24:$I24)) enter แล้ว Copy ลงไป 3บรรทัด

H24 =INDEX($M$10:$M$12,MATCH($I24,$N$10:$N$12,0)) enter แล้ว Copy ลงไป 3บรรทัด

Re: หาค่า Top 3 จากตัวควบคุมฟอร์มและมีค่าซ้ำ

Posted: Thu Apr 19, 2018 11:19 am
by koko_excel_tip
shevy wrote: Thu Apr 19, 2018 9:13 am ที่ G24 - G26 นำค่ามาจาก G6 มาแสดงเมื่อทำการเลือกแล้ว
ที่ H24 - H26 จะแสดงค่ามาจาก column C2 - C103 และ ที่ J24 - J26 นำค่ามาจาก E2 - E103 ค่ะ
ช่วยอธิบายคำตอบหน่อยครับ ไม่เข้าใจคำตอบตรง column E2:E103 เป็นค่าสูงสุด หรือค่ารวม ซึ่งทั้งสองค่าไม่มีตัวไหนได้ตรงกับคำตอบที่ลงไว้ครับ
คำตอบที่ลงไว้ เป็น 200 แต่ถ้าดูแต่ละตัวก็ไม่ถึง 200 ถ้ารวมก็เกิน 200

Re: หาค่า Top 3 จากตัวควบคุมฟอร์มและมีค่าซ้ำ

Posted: Thu Apr 19, 2018 11:47 am
by shevy
koko_excel_tip wrote: Thu Apr 19, 2018 11:19 am
shevy wrote: Thu Apr 19, 2018 9:13 am ที่ G24 - G26 นำค่ามาจาก G6 มาแสดงเมื่อทำการเลือกแล้ว
ที่ H24 - H26 จะแสดงค่ามาจาก column C2 - C103 และ ที่ J24 - J26 นำค่ามาจาก E2 - E103 ค่ะ
ช่วยอธิบายคำตอบหน่อยครับ ไม่เข้าใจคำตอบตรง column E2:E103 เป็นค่าสูงสุด หรือค่ารวม ซึ่งทั้งสองค่าไม่มีตัวไหนได้ตรงกับคำตอบที่ลงไว้ครับ
คำตอบที่ลงไว้ เป็น 200 แต่ถ้าดูแต่ละตัวก็ไม่ถึง 200 ถ้ารวมก็เกิน 200
ต้องขออภัยด้วยคะ เนื่องจากลืมใส่ค่าที่ถูกต้องลงในไฟล์ค่ะ

Re: หาค่า Top 3 จากตัวควบคุมฟอร์มและมีค่าซ้ำ

Posted: Thu Apr 19, 2018 2:16 pm
by shevy
parakorn wrote: Thu Apr 19, 2018 11:16 am อาจทำหลายขั้นตอนนะครับ หากรวบรัดเหลือสูตรเดียวอาจต้องรอท่านอื่นช่วยครับ

F2 =IF($D2=$G$6,$E2,0) Enter+Copy ลงด้านล่างจนสุดตาราง

M10 =INDEX($C$2:$C$103,SMALL(IF(FREQUENCY(IF($D$2:$D$103=$G$6,MATCH($C$2:$C$103,$C$2:$C$103,0)),ROW($C$2:$C$103)-ROW($C$2)+1),ROW($C$2:$C$103)-ROW($C$2)+1),ROWS($M$10:$M10))) ctrl+shift+enter แล้ว Copy ลงไป 3บรรทัด

N10 =SUMIFS($F$2:$F$103,$C$2:$C$103,INDEX($C$2:$C$103,SMALL(IF(FREQUENCY(IF($D$2:$D$103=$G$6,MATCH($C$2:$C$103,$C$2:$C$103,0)),ROW($C$2:$C$103)-ROW($C$2)+1),ROW($C$2:$C$103)-ROW($C$2)+1),ROWS($M$10:$M10)))) ctrl+shift+enter แล้ว Copy ลงไป 3บรรทัด

I24 =LARGE($N$10:$N$12,ROWS($I$24:$I24)) enter แล้ว Copy ลงไป 3บรรทัด

H24 =INDEX($M$10:$M$12,MATCH($I24,$N$10:$N$12,0)) enter แล้ว Copy ลงไป 3บรรทัด
:thup: ในกรณีที่ได้ผลรวมเท่ากันทั้ง 3 ลำดับ ข้อมูลที่แสดงจะมีแค่ข้อมูลเดียวค่ะ ถ้าจะให้แสดงทั้งหมดได้หรือไม่ค่ะ

Re: หาค่า Top 3 จากตัวควบคุมฟอร์มและมีค่าซ้ำ

Posted: Thu Apr 19, 2018 2:44 pm
by parakorn
H24 =IF(COUNTIFS($I$24:$I24,$I24)>1,INDEX($M$10:$M$12,MATCH($I24,$N$10:$N$12,0)+COUNTIFS($I$24:$I24,$I24)-1),INDEX($M$10:$M$12,MATCH($I24,$N$10:$N$12,0))) ctrl+shift+enter ครับ

Re: หาค่า Top 3 จากตัวควบคุมฟอร์มและมีค่าซ้ำ

Posted: Thu Apr 19, 2018 4:44 pm
by shevy
ขอบคุณคะ จากสูตรที่ได้มาถ้าในทีมนั้นมีมากกว่า 3 คนขึ้นไป ที่ M5 - M12 จะแสดงข้อมูลเฉพาะ 3 คนแรกเท่านั้นคะ ถ้าในทีมนั้นมีคนมากกว่า 3 คนขึ้นไปจะไม่แสดงผลของคนที่มียอดมากกว่าคะ

Re: หาค่า Top 3 จากตัวควบคุมฟอร์มและมีค่าซ้ำ

Posted: Thu Apr 19, 2018 4:57 pm
by parakorn
สูตรใน Column M และ N Copy ลงไปจนถึงแถวที่ 19
ที่ H4 ขยายช่วงข้อมูลไปถึงแถว 19 ตามที่ไฮไลท์ครับ =IF(COUNTIFS($I$24:$I24,$I24)>1,INDEX($M$10:$M$19,MATCH($I24,$N$10:$N$19,0)+COUNTIFS($I$24:$I24,$I24)-1),INDEX($M$10:$M$19,MATCH($I24,$N$10:$N$19,0))) ctrl+shift+enter
ที่ I24 ขยายช่วงข้อมูลไปถึงแถว 19 เช่นกัน =LARGE($N$10:$N$19,ROWS($I$24:$I24)) ctrl+shift+enter

ซึ่งหากมีหลายอันดับ ขยายข้อมูลไว้ล่วงหน้าได้เลยครับ

Re: หาค่า Top 3 จากตัวควบคุมฟอร์มและมีค่าซ้ำ

Posted: Thu Apr 19, 2018 5:41 pm
by shevy
ขอบคุณคะ แต่กรณีที่ได้ผลเท่ากันทั้ง 3 ลำดับ ข้อมูลที่ H24 - H26 จะออกมาซ้ำกันคะ

Re: หาค่า Top 3 จากตัวควบคุมฟอร์มและมีค่าซ้ำ

Posted: Thu Apr 19, 2018 5:56 pm
by parakorn
ปรับสูตรที่ H24 เป็น =IF(COUNTIFS($I$24:$I24,$I24)>1,INDEX($M$10:$M$19,SMALL(IF($N$10:$N$19=$I24,ROW($N$10:$N$19)-ROW($N$10)+1),COUNTIFS($I$24:$I24,$I24))),INDEX($M$10:$M$19,MATCH($I24,$N$10:$N$19,0))) Ctrl+Shift+Enter ครับ

Re: หาค่า Top 3 จากตัวควบคุมฟอร์มและมีค่าซ้ำ

Posted: Thu Apr 19, 2018 10:06 pm
by shevy
ได้แล้วค่ะ ขอบคุณค่ะ :cp: :thup: :D