: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

รบกวนสอบถาม ตามนี้เลยครับ การจัดอันดับจากมาก ลงมา น้อยครับ

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
mangpeeba
Member
Member
Posts: 4
Joined: Sat Mar 17, 2018 8:21 am

รบกวนสอบถาม ตามนี้เลยครับ การจัดอันดับจากมาก ลงมา น้อยครับ

#1

Post by mangpeeba »

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

Re: รบกวนสอบถาม ตามนี้เลยครับ การจัดอันดับจากมาก ลงมา น้อยครับ

#2

Post by snasui »

:D ตัวอย่างสูตรที่ F7 ครับ

=LARGE(INDEX(Data!$C$7:$D$17,0,MATCH(TRIM(LOOKUP(CHAR(255),$F$5:F5)),Data!$C$6:$D$6,0)),RIGHT(F$6)+0)

Enter > Copy ไปด้านขวา

ส่วน Top Pond ให้กรอกคำตอบเป็นตัวอย่างพร้อมอธิบายว่าคิดอย่างไรจึงได้ค่าเท่านั้นมาด้วยจะได้สะดวกในการทำความเข้าใจครับ
mangpeeba
Member
Member
Posts: 4
Joined: Sat Mar 17, 2018 8:21 am

Re: รบกวนสอบถาม ตามนี้เลยครับ การจัดอันดับจากมาก ลงมา น้อยครับ

#3

Post by mangpeeba »

ขอบคุณครับผม ส่วนตัว Top pond คือ อยากให้ ทราบว่า ค่า PH นะครับ ที่ว่าได้สูงสุดคือ pond ไหน อย่างเช่นในตาราง Pond 6
มีค่าสูงสุด ผม ก็อยากให้แสดงในตารางครับ อันดับ 1 เรียงลงมานะครับ ส่วนค่า PH หรือ Turbid เป็นค่าของคุณภาพน้ำครับ วัดผล
ด้วยเครื่องมือตรวจวัดครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: รบกวนสอบถาม ตามนี้เลยครับ การจัดอันดับจากมาก ลงมา น้อยครับ

#4

Post by snasui »

:D ทำตามสูตรที่ผมตอบไปด้านบนแล้วแนบไฟล์ล่าสุดมาใหม่ครับ

กรอกตัวอย่างคำตอบ Top pond ด้วยมือมาด้วยจะได้เห็นว่าคำตอบเป็นค่าใดและจะได้ตอบต่อไปจากนั้นครับ
mangpeeba
Member
Member
Posts: 4
Joined: Sat Mar 17, 2018 8:21 am

Re: รบกวนสอบถาม ตามนี้เลยครับ การจัดอันดับจากมาก ลงมา น้อยครับ

#5

Post by mangpeeba »

ไม่แน่ใจว่าผมอธิบายถูกมั้ยนะครับไม่ค่อยถนัดเท่าไหร่
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: รบกวนสอบถาม ตามนี้เลยครับ การจัดอันดับจากมาก ลงมา น้อยครับ

#6

Post by snasui »

:D ตัวอย่างสูตรครับ

เซลล์ C7 คีย์

=INDEX(Data!$B$7:$B$17,MATCH(F7,Data!$C$7:$C$17,0))

Enter > Copy ไปด้านขวาจนถึง E7
mangpeeba
Member
Member
Posts: 4
Joined: Sat Mar 17, 2018 8:21 am

Re: รบกวนสอบถาม ตามนี้เลยครับ การจัดอันดับจากมาก ลงมา น้อยครับ

#7

Post by mangpeeba »

รบกวนหน่อยครับ ผมพยายามอยู่ 3 วันแล้วครับ ขอหลักการวิธีทำได้มั้ยครับ ว่าทำยังไง
เพราะว่าผมลองทำเองช่องอื่นไม่ยอมขึ้นเลยครับ N/A ตลอดเลยครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: รบกวนสอบถาม ตามนี้เลยครับ การจัดอันดับจากมาก ลงมา น้อยครับ

#8

Post by snasui »

snasui wrote: Sat Mar 17, 2018 9:11 am :D ตัวอย่างสูตรที่ F7 ครับ

=LARGE(INDEX(Data!$C$7:$D$17,0,MATCH(TRIM(LOOKUP(CHAR(255),$F$5:F5)),Data!$C$6:$D$6,0)),RIGHT(F$6)+0)

Enter > Copy ไปด้านขวา

ส่วน Top Pond ให้กรอกคำตอบเป็นตัวอย่างพร้อมอธิบายว่าคิดอย่างไรจึงได้ค่าเท่านั้นมาด้วยจะได้สะดวกในการทำความเข้าใจครับ
:D ลองศึกษาตามด้านล่าง การอ่านสูตรให้อ่านจากด้านนอกเข้าด้านใน การแปลสูตรให้แปลจากด้านในออกด้านนอก วิธีการอ่านให้อ่านจากบนลงล่างไปก่อนแล้วอ่านย้อนกลับเพื่อสร้างความเข้าใจที่เพิ่มขึ้น

:arrow: LARGE(INDEX(Data!$C$7:$D$17,0,MATCH(TRIM(LOOKUP(CHAR(255),$F$5:F5)),Data!$C$6:$D$6,0)),RIGHT(F$6)+0) แปลว่าให้ค่าที่ใหญ่ที่สุดในช่วง INDEX(Data!$C$7:$D$17,0,MATCH(TRIM(LOOKUP(CHAR(255),$F$5:F5)),Data!$C$6:$D$6,0)) โดยนำลำดับที่จากผลลัพธ์ของ RIGHT(F$6)+0 มาแสดง

Large ใช้แสดงค่าที่ใหญ่ที่สุดในลำดับที่ที่กำหนด เช่น ใหญ่ที่สุดในลำดับที่ 1, 2, 3 เป็นต้น หากผลลัพธ์ของ RIGHT(F$6)+0 คือ 1 จะแปลว่า ให้หาค่าที่ใหญ่ที่สุดในลำดับที่ 1 ของชุดข้อมูลที่เป็นผลลัพธ์ของ INDEX(Data!$C$7:$D$17,0,MATCH(TRIM(LOOKUP(CHAR(255),$F$5:F5)),Data!$C$6:$D$6,0))

:arrow: RIGHT(F$6)+0 คือการตัดอักขระด้านท้ายของ F6 มา 1 อักขระแล้วบวกด้วย 0 ที่ต้องบวกด้วย 0 เพื่อแปลงกลับให้เป็นตัวเลข เนื่องจากอักขระที่ได้จากการตัดข้อความจะมีสภาพเป็น Text เสมอ

:arrow: จากสูตร INDEX(Data!$C$7:$D$17,0,MATCH(TRIM(LOOKUP(CHAR(255),$F$5:F5)),Data!$C$6:$D$6,0)) แปลว่า จากช่วง Data!$C$7:$D$17 ให้นำคอลัมน์ที่เป็นผลลัพธ์ของ MATCH(TRIM(LOOKUP(CHAR(255),$F$5:F5)),Data!$C$6:$D$6,0) มาแสดง

:arrow: Index คือสูตรที่แสดงค่าในพื้นที่ใด ๆ โดยมีการกำหนดแนวบรรทัด แนวคอลัมน์เอาไว้ให้ หากกำหนดค่าบรรทัดและค่าคอลัมน์ สูตรนี้จะไปดึงค่าตรงจุดตัดระหว่างบรรทัดและคอลัมน์ที่กำหนด เช่น Index(A1:C3,2,2) จะเป็นการนำค่าในบรรทัดที่ 2 คอลัมน์ที่ 2 ของช่วง A1:C3 มาแสดงคำตอบคือค่าใน B2

แต่หากไม่กำหนดค่าบรรทัดแสดงว่าให้นำมาแสดงทั้งคอลัมน์ เช่น Index(A1:C3,0,2) จะเป็นการนำคอลัมน์ที่ 2 มาใช้ทั้งคอลัมน์ สูตรแบบนี้มักจะต้องมีสูตรอื่นมาครอบเพื่อหาค่าที่ต้องการอีกทอดหนึ่ง เช่น Large ตามกระทู้นี้

:arrow: จากสูตร MATCH(TRIM(LOOKUP(CHAR(255),$F$5:F5)),Data!$C$6:$D$6,0)) เป็นการหาว่า TRIM(LOOKUP(CHAR(255),$F$5:F5)) อยู่ในลำดับที่เท่าไรของช่วง Data!$C$6:$D$6

:arrow: จากสูตร LOOKUP(CHAR(255),$F$5:F5) เป็นการหาอักขระสุดท้ายในช่วง $F$5:F5 ที่ต้องหาอักขระสุดท้ายเพราะว่ามีการคีย์เว้นเซลล์ หากคัดลอกสูตรไปด้านขวาช่วง $F$5:F5 จะเปลี่ยนแปลงขนาดไปเรื่อย ๆ เช่น $F$5:Z5 หมายถึงหาอักขระสุดท้ายที่พบในช่วง $F$5:Z5

:arrow: Trim ที่ครอบอยู่ด้านนอกเป็นการตัดอักขระของผลลัพธ์ที่ได้ที่ไม่จำเป็นทิ้งไป อักขระดังกล่าวคือ วรรคหน้าข้อความ วรรคหลังข้อความ วรรคตรงกลางข้อความที่กิน 1 วรรค

การคีย์ข้อความเดียวกันจึงต้องคีย์ให้เหมือนกัน อย่าวรรคหน้า วรรคกลาง วรรคหลังให้แตกต่างกันเพราะต้องใช้สูตรซับซ้อนยิ่งขึ้น
Post Reply