: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

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Sathit Wongmeekaew
Member
Member
Posts: 9
Joined: Sun Sep 11, 2022 12:19 pm
Excel Ver: 2013, 2016, 2019

ขอวิธีการเขียนคำสั่งหาลำดับที่แบบมีหลายเงื่อนไข ใน Excel

#1

Post by Sathit Wongmeekaew »

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

Re: ขอวิธีการเขียนคำสั้งหาลำดับที่แบบมีหลายเงื่อนไข ใน Excel

#2

Post by snasui »

:D ตัวอย่างสูตรครับ
  1. เซลล์ O3 คีย์สูตรสำหรับนำเกรดเฉลียบวกกับคะแนนรวมหารด้วย 10000 เพื่อใช้เป็นคอลัมน์ช่วยให้ง่ายต่อการเขียนสูตรและง่ายต่อการทำความเข้าใจสำหรับการจัดลำดับ
    =L3+K3/10000
    Enter > Copy ลงด้านล่างจนสุดข้อมูล
  2. เซลล์ M3 เขียนสูตรหาลำดับที่ต้องการ
    =RANK(O3,$O$3:$O$31)
    Enter > Copy ลงด้านล่าง
หรือหากต้องการเขียนเพียงสูตรเดียวโดยไม่ต้องใช้คอลัมน์ช่วย เซลล์ M3 คีย์

=SUMPRODUCT(--(L3+K3/10000<$L$3:$L$31+$K$3:$K$31/10000))+COUNTIFS(K$3:K3,K3,L$3:L3,L3)

Enter > Copy ลงด้านล่าง
Sathit Wongmeekaew
Member
Member
Posts: 9
Joined: Sun Sep 11, 2022 12:19 pm
Excel Ver: 2013, 2016, 2019

Re: ขอวิธีการเขียนคำสั่งหาลำดับที่แบบมีหลายเงื่อนไข ใน Excel

#3

Post by Sathit Wongmeekaew »

ขอบคุณครับผม ทีนี้ผมขอเป็นความรู้เพิ่มอีกนิด ถ้าสมมุติอยากเพิ่มเงื่อนไขอีกว่า ถ้า เกรดเฉลี่ยเท่ากัน แล้ว คะแนนรวม ก็เท่ากันอีก แล้วเพิ่มเงื่อนไขว่าคะแนนวิชาคณิตศาสตร์ได้มากว่า ให้ได้ลำดับที่ดีกว่าละครับ จะมีวิธีการอย่างไรครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ขอวิธีการเขียนคำสั่งหาลำดับที่แบบมีหลายเงื่อนไข ใน Excel

#4

Post by snasui »

:D จากสูตรนี้ =L3+K3/10000 (ข้อ 1 ในโพสต์ด้านบน) ให้บวกวิชาคณิตศาสตร์หรือวิชาอื่นใดที่ต้องการเพิ่มได้ตามสะดวก เช่น =L3+(K3+J3)/10000) เป็นต้นครับ
Sathit Wongmeekaew
Member
Member
Posts: 9
Joined: Sun Sep 11, 2022 12:19 pm
Excel Ver: 2013, 2016, 2019

Re: ขอวิธีการเขียนคำสั่งหาลำดับที่แบบมีหลายเงื่อนไข ใน Excel

#5

Post by Sathit Wongmeekaew »

ขอบคุณครับผม สำหรับความรู้วันนี้
Sathit Wongmeekaew
Member
Member
Posts: 9
Joined: Sun Sep 11, 2022 12:19 pm
Excel Ver: 2013, 2016, 2019

Re: ขอวิธีการเขียนคำสั่งหาลำดับที่แบบมีหลายเงื่อนไข ใน Excel

#6

Post by Sathit Wongmeekaew »

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

Re: ขอวิธีการเขียนคำสั่งหาลำดับที่แบบมีหลายเงื่อนไข ใน Excel

#7

Post by snasui »

:D ที่ได้เช่นนั้นเพราะไม่ได้แจ้งเงื่อนไขนี้มาตั้งแต่ต้นครับ

กรณีลำดับเดียวกันได้ค่าเดียวกันปรับสูตรเป็นด้านล่างครับ

=MATCH(L4+K4/10000,SORT(UNIQUE($L$4:$L$32+$K$4:$K$32/10000),1,-1),0)

Enter > Copy ลงด้านล่าง
Sathit Wongmeekaew
Member
Member
Posts: 9
Joined: Sun Sep 11, 2022 12:19 pm
Excel Ver: 2013, 2016, 2019

Re: ขอวิธีการเขียนคำสั่งหาลำดับที่แบบมีหลายเงื่อนไข ใน Excel

#8

Post by Sathit Wongmeekaew »

ผมลองคัดลอกสูตรตามที่บอกไปใช้แล้วมันบอกว่า "ฟังก์ชั่นดังกล่าวไม่ถูกต้องครับ" พอผมกดตกลงมันจะไปทึบสีเทา ๆ ตรงคำว่า SORT ครับ ตามรูปที่ผมแนบมานี้ครับ แล้วผมแก้ไม่เป็นครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ขอวิธีการเขียนคำสั่งหาลำดับที่แบบมีหลายเงื่อนไข ใน Excel

#9

Post by snasui »

:D ไม่ทราบว่าใช้ Excel Version ไหน ตรงกับที่ระบุไว้ใน Profile ว่าเป็น Version 365 หรือไม่ครับ :?:
Sathit Wongmeekaew
Member
Member
Posts: 9
Joined: Sun Sep 11, 2022 12:19 pm
Excel Ver: 2013, 2016, 2019

Re: ขอวิธีการเขียนคำสั่งหาลำดับที่แบบมีหลายเงื่อนไข ใน Excel

#10

Post by Sathit Wongmeekaew »

เป็นเวอร์ชั่น 2019 ครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ขอวิธีการเขียนคำสั่งหาลำดับที่แบบมีหลายเงื่อนไข ใน Excel

#11

Post by snasui »

:D ช่วยแก้ไข Profile ให้แสดง Version ของ Excel ให้ตรงกับที่ใช้งานจริงตาม Link นี้ด้วยครับ viewtopic.php?p=103177#p103177

สามารถปรับ Code ที่ M4 เป็นด้านล่างครับ

=MATCH(L4+K4/10000,INDEX(AGGREGATE(14,6,($L$4:$L$32+$K$4:$K$32/10000)/(0<FREQUENCY(MATCH($L$4:$L$32+$K$4:$K$32/10000,$L$4:$L$32+$K$4:$K$32/10000,0),ROW($L$4:$L$32)-ROW($L$4)+1)),ROW($L$4:$L$32)-ROW($L$4)+1),0),0)

Enter > Copy ลงด้านล่าง
Sathit Wongmeekaew
Member
Member
Posts: 9
Joined: Sun Sep 11, 2022 12:19 pm
Excel Ver: 2013, 2016, 2019

Re: ขอวิธีการเขียนคำสั่งหาลำดับที่แบบมีหลายเงื่อนไข ใน Excel

#12

Post by Sathit Wongmeekaew »

ได้แล้วครับ ขอบคุณมาก ๆ ครับผม พอดีผมเพิ่งจะสมัครสมาชิกใหม่ก็เลยยังไม่เข้าใจการะใช้งานเท่าไหร่นะครับ แล้วผมจะไปแก้ Profile ให้ตรงกับ Version ของ Excel นะครับ ขอให้ท่านประสบแต่ความสุขความเจริญนะครับ
Sathit Wongmeekaew
Member
Member
Posts: 9
Joined: Sun Sep 11, 2022 12:19 pm
Excel Ver: 2013, 2016, 2019

Re: ขอวิธีการเขียนคำสั่งหาลำดับที่แบบมีหลายเงื่อนไข ใน Excel

#13

Post by Sathit Wongmeekaew »

สอบถามอีกนิดนะครับ ถ้าผมเอาไฟล์ตัวนี้ซึ่งเป็น Excel เวอร์ชั่น 2019 แล้วเอาไปให้คุณครูท่านอื่นใช้ แต่ผมไม่รู้ว่าของคุณครูแต่ละท่านใช้ Excel เวอร์ชั่นอะไรบ้าง สมมุติว่าของคุณครูท่านอื่นใช้เวอร์ชั่นที่ต่ำกว่า 2019 จะสามารถใช้ไฟล์ตัวนี้ได้ไหมครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ขอวิธีการเขียนคำสั่งหาลำดับที่แบบมีหลายเงื่อนไข ใน Excel

#14

Post by snasui »

:D กรุณาแก้ Profile ตามที่แจ้งไปก่อนครับ :roll:
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ขอวิธีการเขียนคำสั่งหาลำดับที่แบบมีหลายเงื่อนไข ใน Excel

#16

Post by snasui »

Sathit Wongmeekaew wrote: Wed Sep 14, 2022 9:03 am สอบถามอีกนิดนะครับ ถ้าผมเอาไฟล์ตัวนี้ซึ่งเป็น Excel เวอร์ชั่น 2019 แล้วเอาไปให้คุณครูท่านอื่นใช้ แต่ผมไม่รู้ว่าของคุณครูแต่ละท่านใช้ Excel เวอร์ชั่นอะไรบ้าง สมมุติว่าของคุณครูท่านอื่นใช้เวอร์ชั่นที่ต่ำกว่า 2019 จะสามารถใช้ไฟล์ตัวนี้ได้ไหมครับ
:D สูตรดังกล่าวใช้ได้ตั้งแต่ Version 2010 เป็นต้นไปครับ
Post Reply