snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
sp2505
Member
Posts: 58 Joined: Thu Mar 28, 2013 3:32 am
#1
Post
by sp2505 » Fri Mar 21, 2014 5:43 am
ตามไฟล์ตัวอย่างที่แนบมา ผมใช้คำสั่ง rank ใน sheet 2557 columns I แล้วไม่ได้ผลที่เป็นจริง อยากทราบว่าเป็นเพราะอะไร และต้องแก้ไขอย่างไรครับ
You do not have the required permissions to view the files attached to this post.
joo
Gold
Posts: 1213 Joined: Sat Apr 17, 2010 3:50 pm
#2
Post
by joo » Fri Mar 21, 2014 7:25 am
sp2505 wrote: ตามไฟล์ตัวอย่างที่แนบมา ผมใช้คำสั่ง rank ใน sheet 2557 columns I แล้วไม่ได้ผลที่เป็นจริง อยากทราบว่าเป็นเพราะอะไร และต้องแก้ไขอย่างไรครับ
ช่วยยกตัวอย่างคำตอบที่ถูกต้องมาด้วยครับ
sp2505
Member
Posts: 58 Joined: Thu Mar 28, 2013 3:32 am
#3
Post
by sp2505 » Fri Mar 21, 2014 4:39 pm
คำตอบที่ถูกต้อง คือ ผลที่เกิดใน columns I จะต้องเรียงลำดับตามข้อมูลที่ปรากฏใน columns H
แต่ผลที่เกิดตอนนี้ คือ โควตาสะสมใน columns H ที่มีค่า 1.5 เท่ากัน จำนวน 4 โรงเรียน แต่ได้ลำดับที่ไม่เท่ากันครับ
joo
Gold
Posts: 1213 Joined: Sat Apr 17, 2010 3:50 pm
#4
Post
by joo » Fri Mar 21, 2014 4:49 pm
ลองตามนี้ดูครับ
เซลล์ I10 คีย์ =SUMPRODUCT(--(H23<$H$23:$H$31))+COUNTIF(H$23:H23,H23) Enter > Copy ลงด้านล่าง
sp2505
Member
Posts: 58 Joined: Thu Mar 28, 2013 3:32 am
#5
Post
by sp2505 » Fri Mar 21, 2014 5:04 pm
ทดสอบแล้วครับ ไม่ได้ครับ เพราะเท่าที่ดูไม่เข้าใจว่าทำไมต้องระบุถึง row 23 และ 31 และเมื่อทดลองเปลี่ยน row 23 เป็น 10 และ row 31 เป็น 18 ก็ไม่ได้ผลที่เป็นการเรียงลำดับที่ถูกต้องครับ
joo
Gold
Posts: 1213 Joined: Sat Apr 17, 2010 3:50 pm
#6
Post
by joo » Fri Mar 21, 2014 5:09 pm
ขออภัยครับ ปรับสูตรใหม่ตามนี้ครับ
=SUMPRODUCT(--(H10<$H$10:$H$18))+COUNTIF(H$10:H10,H10)
sp2505
Member
Posts: 58 Joined: Thu Mar 28, 2013 3:32 am
#7
Post
by sp2505 » Fri Mar 21, 2014 5:42 pm
ทดสอบตามสูตรใหม่แล้วครับ แต่โควตาสะสมใน columns H ที่มีค่า 1.5 เท่ากัน จำนวน 4 โรงเรียน ก็ยังได้ลำดับที่ไม่เท่ากันเหมือนเดิมครับ
tupthai
Bronze
Posts: 302 Joined: Sat Feb 04, 2012 2:49 pm
#8
Post
by tupthai » Fri Mar 21, 2014 10:10 pm
ลองทดสอบดูครับ
I10 พิมพ์สูตร
=SUMPRODUCT(--($H$10:$H$18>H10))+1
Enter แล้วcopy ลงด้านล่าง
sp2505
Member
Posts: 58 Joined: Thu Mar 28, 2013 3:32 am
#9
Post
by sp2505 » Sat Mar 22, 2014 12:16 am
ทดลองตามที่ท่าน tupthai แนะนำแล้วได้ผลตามที่ต้องการแล้วครับ ขอบคุณมากครับ แต่ยังมีข้อสงสัยว่าทำไมใช้คำสั่ง rank แล้วไม่ได้ผลตามที่เป็นจริงครับ
snasui
Site Admin
Posts: 31257 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#10
Post
by snasui » Sat Mar 22, 2014 7:51 am
สาเหตุเป็นแบบเดียวกับบทความนี้ครับ
wordpress/difference-form-calculation/
อีกตัวอย่างสำหรับการแก้ไขเหตุการณ์ดังกล่าวโดยใช้ฟังก์ชั่น Rank ที่คอลัมน์ I เช่นเดิม
ที่ G10 คีย์สูตร
=Round('2556'!T10,2)
Enter > Copy ลงด้านล่าง
sp2505
Member
Posts: 58 Joined: Thu Mar 28, 2013 3:32 am
#11
Post
by sp2505 » Sat Mar 22, 2014 3:19 pm
เข้าใจแล้วครับอาจารย์ ผมลืมนึกถึงประเด็นนี้ไปอย่างสนิทเลย ต้องขอขอบพระคุณอาจารย์เป็นอย่างสูงครับ