: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

การจัดอันดับแบบเช็คคะแนน

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
aumps
Member
Member
Posts: 39
Joined: Fri Jun 15, 2012 12:02 pm

การจัดอันดับแบบเช็คคะแนน

#1

Post by aumps »

ขอบคุณมาก ๆ ครับ ได้ความรู้เยอะเลย

แต่หากต้องการแบบนี้ครับ โดยที่ให้แสดงข้อมูลต่อ ๆ กันไป นายเอ,นายบี
แบบต้องดูคะแนนก่อน จึงจะมาเรียงแบบนี้ ต้องทำอย่างไรหรอครับ
ตามเอกสารแนบครับ


=====================================
Note: แยกออกจากกระทู้เดิมเนื่องจากพิจารณาแล้วว่าน่าจะเป็นกระทู้ใหม่
------
คนควน
You do not have the required permissions to view the files attached to this post.
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: การดึงข้อมูลให้แสดงค่าที่มีทั้งหมด โดยที่ค่าซ้ำกัน

#2

Post by bank9597 »

:lol: ยังไม่ถูกต้องครับ ขอแก้ใหม่
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การดึงข้อมูลให้แสดงค่าที่มีทั้งหมด โดยที่ค่าซ้ำกัน

#3

Post by snasui »

:D ลองตามไฟล์แนบครับ
  1. ที่ H17 คีย์สูตรเพื่อหาค่าคะแนนโดยคำนีงถึงการทายทุกเงื่อนไข
    =(B17&C17&D17&E17)+0
    Enter > Copy ลงด้านล่าง
  2. ที่ I17 คีย์สูตรเพื่อให้ลำดับ
    Ctrl+Shift+Enter > Copy ลงด้านล่าง
  3. ที่ J2 คีย์สูตรเพื่อ List รายชื่อของผู้ที่ได้ลำดับเดียวกัน
    =LOOKUP(CHAR(255),CHOOSE({1,2},"",INDEX($F$17:$F$25,SMALL(IF($I$17:$I$25=$B2,ROW($I$17:$I$25)-ROW($I$17)+1),COLUMNS($J2:J2)))))
    Ctrl+Shift+Enter > Copy ไปทางขวาและลงด้านล่าง
  4. ที่ C2 คีย์สูตรเพื่อ List ผู้เล่น
    =LEFT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(J2&","&K2&","&L2&","&M2&","&N2&","&O2,",,,,,",","),",,,,",","),",,,",","),",,",","),LEN(J2&K2&L2&M2&N2&O2)+COUNTIF(J2:O2,"*?")-1)
    Enter > Copy ลงด้านล่าง
  5. ที่ E2 คีย์สูตรเพื่อ List คะแนนที่ได้
    =INDEX($B$17:$B$25,MATCH($B2,$I$17:$I$25,0))
    Enter > Copy ลงด้านล่าง
You do not have the required permissions to view the files attached to this post.
aumps
Member
Member
Posts: 39
Joined: Fri Jun 15, 2012 12:02 pm

Re: การจัดอันดับแบบเช็คคะแนน

#4

Post by aumps »

ขอบคุณมาก ๆ ครับสำหรับความรู้
แต่ผมรบกวนถามเพิ่มหน่อยครับ

ที่ h17 ของท่านใช้
=(B17&C17&D17&E17)+0
หากไม่+0 แต่เป็น
=B17&C17&D17&E17
มีข้อเสียอย่างไรหรอครับ

ที่ e2 ของท่านใช้
=INDEX($B$17:$B$25,MATCH($B2,$I$17:$I$25,0))
แต่หากใช้
=LARGE($B$17:$B$25,F2)
มีข้อเสียอย่างไรหรอครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การจัดอันดับแบบเช็คคะแนน

#5

Post by snasui »

aumps wrote:ที่ h17 ของท่านใช้
=(B17&C17&D17&E17)+0
หากไม่+0 แต่เป็น
=B17&C17&D17&E17
มีข้อเสียอย่างไรหรอครับ
การที่บวกด้วย 0 เพื่อให้เป็น Number ครับ หากไม่ทำให้เป็น Number ก็จะเป็น Text ไม่สามารถใช้เรียงลำดับมากน้อยเช่นเดียวกับตัวเลขได้
aumps wrote:ที่ e2 ของท่านใช้
=INDEX($B$17:$B$25,MATCH($B2,$I$17:$I$25,0))
แต่หากใช้
=LARGE($B$17:$B$25,F2)
มีข้อเสียอย่างไรหรอครับ
ฟังก์ชั่น Large เป็นการหาค่าที่ใหญ่ที่สุดในลำดับที่กำหนด ส่วน Index+Match เป็นการหาตำแหน่งในช่วงเซลล์ใด ๆ โดยนำค่าที่ได้จากฟังก์ชั่น Match มาแสดง จากความหมายก็แตกต่างกันมากครับ จากไฟล์ที่ผมแนบไป ลองคีย์สูตรที่ D2 เป็น

=LARGE($B$17:$B$25,F2)

Enter > Copy ลงด้านล่าง แล้วเทียบกับค่าที่ได้ในคอลัมน์ E ดูก็จะเห็นความแตกต่างครับ
aumps
Member
Member
Posts: 39
Joined: Fri Jun 15, 2012 12:02 pm

Re: การจัดอันดับแบบเช็คคะแนน

#6

Post by aumps »

ขอบคุณมาก ๆ ครับสำหรับความรู้ที่สำหรับ ผมว่าสุดยอดครับ
แต่ผมเป็นแค่พวกเข้าใจสูตรพื้นฐานเบื้องต้นเท่านั้น
อยากเข้าใจสูตรด้วยไม่แน่ใจว่าจะรบกวนท่านไปไหมดังนี้ครับ
ผมขอถามเป็นข้อ ๆ ดังนี้

ที่ i17
=MATCH(H17,LARGE(IF(FREQUENCY(MATCH($H$17:$H$25,$H$17:$H$25,0),ROW($H$17:$H$25)-ROW($H$17)+1),$H$17:$H$25),ROW(INDIRECT("1:"&COUNT($H$17:$H$25)))),0)

MATCH = MATCH( ข้อความที่จะค้นหา , ช่วงข้อมูลที่จะค้นหา , รูปแบบการค้นหา )
LARGE = การหาค่าที่ใหญ่ที่สุดในช่วงที่กำหนด =large(ช่วงตาราง,ค่าที่กำหนด)
FREQUENCY = ความถี่เปล่าไม่แน่ใจครับ
MATCH = MATCH( ข้อความที่จะค้นหา , ช่วงข้อมูลที่จะค้นหา , รูปแบบการค้นหา )
ROW = ช่วงข้อมูลในแถวแนวนอน
INDIRECT = ไม่ทราบครับ
COUNT = การนับจำนวน = count(ช่วงที่ต้องการ)

สรุปผมจะเรียงลำดับการทำงานของสูตรนะครับ
1. MATCH ดูข้อมูลในช่องที่ h17
2. LARGE ค่าที่ใหญ่ของช่วงที่กำหนด
3. IF ถ้า FREQUENCY (ไม่ทราบเรื่องของ frequency) ให้ดูข้อ4
4. MATCH ค้นหาข้อมูลช่วง h17:h25
5. ให้นำข้อมูล h17:h25 - h17 แล้ว+1 ตรง+1นี้บวกทำไมหรอครับ
หลังจากนี้เริ่มงงละครับ และไม่แน่ใจขั้นตอนการคิดเป็นแบบนี้เปล่า จริง ๆ อยากไปเรียนกับท่านนะครับ ไม่แน่ใจท่านมีสอนเรื่องพวกนี้เปล่า อิ อิ
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การจัดอันดับแบบเช็คคะแนน

#7

Post by snasui »

:D สูตรพวกนี้เป็นสูตร Array ทำความเข้าใจได้ยากกว่าสูตรปกติครับ

เรื่องบวก 1 สามารถอ่านได้จากความเห็นนี้ ซึ่งเป็นการใช้ลักษณะเดียวกันครับ viewtopic.php?p=17983#p17983

สำหรับฟังก์ชั่นทั้งหลายสามารถศึกษาได้จาก Link นี้ครับ http://office.microsoft.com/th-th/excel ... aspx?CTT=1

และสูตรที่ถามมาคือ

=MATCH(H17,LARGE(IF(FREQUENCY(MATCH($H$17:$H$25,$H$17:$H$25,0),ROW($H$17:$H$25)-ROW($H$17)+1),$H$17:$H$25),ROW(INDIRECT("1:"&COUNT($H$17:$H$25)))),0)

มีความหมายว่า ให้หาว่า H17 อยู่ในลำดับเท่าใดของช่วงข้อมูลที่เป็นผลลัพธ์ของ

LARGE(IF(FREQUENCY(MATCH($H$17:$H$25,$H$17:$H$25,0),ROW($H$17:$H$25)-ROW($H$17)+1),$H$17:$H$25),ROW(INDIRECT("1:"&COUNT($H$17:$H$25))))

ซึ่งมีความหมายว่า ให้แสดงค่าที่ใหญ่ที่สุดตามค่าที่เป็นผลลัพธ์ของ ROW(INDIRECT("1:"&COUNT($H$17:$H$25))) จากช่วงข้อมูลที่เป็นผลลัพธ์ของ IF(FREQUENCY(MATCH($H$17:$H$25,$H$17:$H$25,0),ROW($H$17:$H$25)-ROW($H$17)+1),$H$17:$H$25)

จากสูตร IF(FREQUENCY(MATCH($H$17:$H$25,$H$17:$H$25,0),ROW($H$17:$H$25)-ROW($H$17)+1),$H$17:$H$25) หมายความว่า หาก FREQUENCY(MATCH($H$17:$H$25,$H$17:$H$25,0),ROW($H$17:$H$25)-ROW($H$17)+1) ไม่ใช่ 0 ใหแสดงคำตอบเป็นค่าในช่วง $H$17:$H$25 ถ้าเป็น 0 ให้แสดงค่า False

จาก FREQUENCY(MATCH($H$17:$H$25,$H$17:$H$25,0),ROW($H$17:$H$25)-ROW($H$17)+1) หมายถึงเป็นการหาค่าที่เกิดขึ้นใน MATCH($H$17:$H$25,$H$17:$H$25,0) เมื่อเทียบกับค่าใน ROW($H$17:$H$25)-ROW($H$17)+1 ว่ามีจำนวนกี่ครั้ง

จากสูตร MATCH($H$17:$H$25,$H$17:$H$25,0) เป็นการหาลำดับที่พบ $H$17:$H$25 ในช่วงของตัวเองคือ $H$17:$H$25 ว่าอยู่ลำดับที่เท่าใดบ้าง

จากสูตร ROW($H$17:$H$25)-ROW($H$17)+1 เป็นการให้ค่าลำดับจาก 1-9 โดยดูคำอธิบายจาก Link ที่ให้ไปด้านบนครับ

สุดท้าย ปัจจุบันผมไม่รับสอนครับ :mrgreen:
aumps
Member
Member
Posts: 39
Joined: Fri Jun 15, 2012 12:02 pm

Re: การจัดอันดับแบบเช็คคะแนน

#8

Post by aumps »

รบกวนนิดหนึ่งครับ พอดีเจอปัญหาเพิ่มเติมในส่วนของ
=(C23&D23&E23&F23)+0
สมมติว่าได้คะแนนดังนี้

นาย A (21,2,2,11) ผลลัพท์ 212211
นาย B (31,6,4,5) ผลลัพท์ 31645

จะกลายเป็น นาย A ขึ้นอับดับ1 แต่จริง ๆ แล้ว นาย B ทายถูกมากกว่า ต้องเป็นอันดับ 1
แต่ผมเข้าใจว่าผลลัพท์ตัวเลขมากกว่าเลยแสดงผลแบบนี้
ต้องแก้ไขโดยวิธีการใดครับ ขอบคุณมาก ๆ ครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การจัดอันดับแบบเช็คคะแนน

#9

Post by snasui »

:D การจัดลำดับสามารถใช้ Rank มาช่วยได้ครับ ยกตัวอย่างเช่นที่ I17 คีย์

=RANK(B17,$B$17:$B$25)

Enter > Copy ลงด้านล่าง
aumps
Member
Member
Posts: 39
Joined: Fri Jun 15, 2012 12:02 pm

Re: การจัดอันดับแบบเช็คคะแนน

#10

Post by aumps »

แบบนี้ต้องใช้ 2 เงื่อนไขมารวมกันไหมครับถ้าใช้ Rank
เนื่องจาก การจัดอันดับนั้นจะต้องคำนึงถึงการทายถูก 3 2 และ 1 ตามลำดับมาด้วย
ไม่เช่นนั้นลำดับของการใช้ Rank จะซ้ำกัน และข้ามลำดับต่อไป
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การจัดอันดับแบบเช็คคะแนน

#11

Post by snasui »

:D เซลล์ M19 คำตอบได้ 8 มีวิธีคิดอย่างไรครับ

การทายถูกครั้งที่เท่าใดก็ตามหากเปลี่ยนมาเป็นเลขคะแนนและรวมกันให้อยู่ในเซลล์เดียวได้จะช่วยให้คำนวณง่ายขึ้นมาก
aumps
Member
Member
Posts: 39
Joined: Fri Jun 15, 2012 12:02 pm

Re: การจัดอันดับแบบเช็คคะแนน

#12

Post by aumps »

ขออภัยครับ M19 ผมมองคะแนนผิดไปครับ ต้อง 7
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การจัดอันดับแบบเช็คคะแนน

#13

Post by snasui »

:D ตัวอย่างสูตร
  1. H17
    =(B17&"."&C17&D17&E17)+0
  2. K17
    =RANK(H17,($H$17:$H$25))
  3. Copy H17:K17 ลงด้านล่าง
aumps
Member
Member
Posts: 39
Joined: Fri Jun 15, 2012 12:02 pm

Re: การจัดอันดับแบบเช็คคะแนน

#14

Post by aumps »

อ่อใช่เลยครับ นั่งนึกตั้งนาน ใส่เป็น ทศนิยมเลยก็จบ :(
ขอขอบพระคุณมาก ๆ นะครับ :lol:
aumps
Member
Member
Posts: 39
Joined: Fri Jun 15, 2012 12:02 pm

Re: การจัดอันดับแบบเช็คคะแนน

#15

Post by aumps »

รบกวนเพิ่มเติมอีกนิดครับ
หากเราต้องการหาผลต่างของคะแนน โดยคำนึงถึงลำดับด้วย
เช่น
วันที่ 1
นาย A ลำดับที่ 1 ได้คะแนน 50
นาย B ลำดับที่ 2 ได้คะแนน 45
นาย C ลำดับที่ 3 ได้คะแนน 40

วันที่ 2
นาย A ลำดับที่ 1 ได้คะแนน 55
นาย C ลำดับที่ 2 ได้คะแนน 50
นาย B ลำดับที่ 3 ได้คะแนน 47

เนื่องจากบุคคลจะอ้างอิงจากคะแนน จึงจะขึ้นลำดับ เท่ากับว่ามี 2 เงื่อนไขให้ตรวจสอบ ต้องเขียนแบบไหนหรอครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การจัดอันดับแบบเช็คคะแนน

#16

Post by snasui »

:D อ่านแล้วไม่เข้าใจครับ จากที่โพสต์มา ลำดับกับคะแนนไปด้วยกัน ไม่จำเป็นต้องอ้างหลายเงื่อนไข
aumps
Member
Member
Posts: 39
Joined: Fri Jun 15, 2012 12:02 pm

Re: การจัดอันดับแบบเช็คคะแนน

#17

Post by aumps »

ลำดับเปลี่ยน อ้างอิงจากคะแนนอะครับ ตามที่ทำตัวเข้มไว้
เท่ากับว่า
เงื่อนไขแรกต้องตรวจสอบว่านาย A อยู่ลำดับที่ 1 ไหม ถ้าอยู่
เงื่อนไขสองคะแนนต่างจากเดิมเท่าไร

ถ้าไม่อยู่ลำดับเดิม คะแนนต่างเท่าไร
You do not have the required permissions to view the files attached to this post.
Last edited by aumps on Sun Jun 22, 2014 10:04 am, edited 2 times in total.
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การจัดอันดับแบบเช็คคะแนน

#18

Post by snasui »

:D เปลี่ยนอย่างไร ช่วยทำตัวอย่างให้เห็นเปรียบเทียบกันว่า เดิมเป็นอย่างไร ใหม่เป็นอย่างไร จะได้เข้าใจตรงกันครับ
aumps
Member
Member
Posts: 39
Joined: Fri Jun 15, 2012 12:02 pm

Re: การจัดอันดับแบบเช็คคะแนน

#19

Post by aumps »

ตัวอย่างครับ ตามเอกสารแนบครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การจัดอันดับแบบเช็คคะแนน

#20

Post by snasui »

:D สิ่งที่ต้องการคือ H33:H35, H40:H42 ใช่หรือไม่ครับ

หากไม่ใช่ช่วยอธิบายมาใหม่ครับ
Post Reply