:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

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

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
shevy
Member
Member
Posts: 34
Joined: Thu Oct 12, 2017 1:48 pm
Excel Ver: Microsoft 365

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

#1

Post by shevy »

หาค่า Top 3 จากตัวควมคุมฟอร์ม เมื่อเลือกตัวควบคุมฟอร์มแบบ list ให้แสดงค่า sale top 3 ของทีมนั้นๆ ทั้ง 3 ลำดับค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30738
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#2

Post by snasui »

:D อ่านแล้วไม่กระจ่างครับ

จากไฟล์แนบเซลล์ B24:B26 นำมาจากเซลล์ไหนจึงได้ค่าเท่านั้นช่วยอธิบายเพิ่มเติมด้วยครับ
shevy
Member
Member
Posts: 34
Joined: Thu Oct 12, 2017 1:48 pm
Excel Ver: Microsoft 365

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

#3

Post by shevy »

ที่ G24 - G26 นำค่ามาจาก G6 มาแสดงเมื่อทำการเลือกแล้ว
ที่ H24 - H26 จะแสดงค่ามาจาก column C2 - C103 และ ที่ J24 - J26 นำค่ามาจาก E2 - E103 ค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
parakorn
Gold
Gold
Posts: 1223
Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:

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

#4

Post 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บรรทัด
koko_excel_tip
Member
Member
Posts: 138
Joined: Wed Sep 13, 2017 9:20 pm

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

#5

Post 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
You do not have the required permissions to view the files attached to this post.
shevy
Member
Member
Posts: 34
Joined: Thu Oct 12, 2017 1:48 pm
Excel Ver: Microsoft 365

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

#6

Post 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
ต้องขออภัยด้วยคะ เนื่องจากลืมใส่ค่าที่ถูกต้องลงในไฟล์ค่ะ
shevy
Member
Member
Posts: 34
Joined: Thu Oct 12, 2017 1:48 pm
Excel Ver: Microsoft 365

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

#7

Post 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 ลำดับ ข้อมูลที่แสดงจะมีแค่ข้อมูลเดียวค่ะ ถ้าจะให้แสดงทั้งหมดได้หรือไม่ค่ะ
User avatar
parakorn
Gold
Gold
Posts: 1223
Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:

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

#8

Post 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 ครับ
shevy
Member
Member
Posts: 34
Joined: Thu Oct 12, 2017 1:48 pm
Excel Ver: Microsoft 365

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

#9

Post by shevy »

ขอบคุณคะ จากสูตรที่ได้มาถ้าในทีมนั้นมีมากกว่า 3 คนขึ้นไป ที่ M5 - M12 จะแสดงข้อมูลเฉพาะ 3 คนแรกเท่านั้นคะ ถ้าในทีมนั้นมีคนมากกว่า 3 คนขึ้นไปจะไม่แสดงผลของคนที่มียอดมากกว่าคะ
You do not have the required permissions to view the files attached to this post.
User avatar
parakorn
Gold
Gold
Posts: 1223
Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:

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

#10

Post 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

ซึ่งหากมีหลายอันดับ ขยายข้อมูลไว้ล่วงหน้าได้เลยครับ
shevy
Member
Member
Posts: 34
Joined: Thu Oct 12, 2017 1:48 pm
Excel Ver: Microsoft 365

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

#11

Post by shevy »

ขอบคุณคะ แต่กรณีที่ได้ผลเท่ากันทั้ง 3 ลำดับ ข้อมูลที่ H24 - H26 จะออกมาซ้ำกันคะ
User avatar
parakorn
Gold
Gold
Posts: 1223
Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:

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

#12

Post 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 ครับ
shevy
Member
Member
Posts: 34
Joined: Thu Oct 12, 2017 1:48 pm
Excel Ver: Microsoft 365

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

#13

Post by shevy »

ได้แล้วค่ะ ขอบคุณค่ะ :cp: :thup: :D
Post Reply