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] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
kaikungzaa
Member
Posts: 20 Joined: Thu Jun 09, 2016 3:09 pm
#1
Post
by kaikungzaa » Thu Jun 09, 2016 3:13 pm
ผมทำตารางคะแนนฟุตบอล แล้วต้องหาสูตรหรือวิธีทำ ดังนี้
1. ต้องการหาอันดับของทีมหลังจากจบการแข่งในแต่ละนัดว่า ทีมอยู่อันดับที่เท่าไหร่ โดยต้องการให้ขึ้นอัตโนมัติ ไม่ต้องคีย์เอง ทำเช่นนี้จนครบ 38 นัด เพื่อจะได้เอาไปสร้างเป็นกราฟเส้น
2. ต้องการใส่รูปโลโก้ของแต่ละทีมลงไปในเซลล์ เวลาคีย์ผลการแข่ง ต้องการให้ทีมและรูป ขยับขึ้นลงตามอันดับ
You do not have the required permissions to view the files attached to this post.
kaikungzaa
Member
Posts: 20 Joined: Thu Jun 09, 2016 3:09 pm
#3
Post
by kaikungzaa » Thu Jun 09, 2016 4:57 pm
มีวิธีอื่นอีกมั้ยครับ อ่านแล้วยังไม่ค่อยเข้าใจ
snasui
Site Admin
Posts: 31205 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#4
Post
by snasui » Thu Jun 09, 2016 7:01 pm
ลองถามมาทีละขั้นที่อ่านแล้วไม่เข้าใจครับ
kaikungzaa
Member
Posts: 20 Joined: Thu Jun 09, 2016 3:09 pm
#5
Post
by kaikungzaa » Fri Jun 10, 2016 9:11 am
snasui wrote: ลองถามมาทีละขั้นที่อ่านแล้วไม่เข้าใจครับ
ข้อ 1
ต้องการสูตรหรือวิิธีเพื่อหาอันดับของแต่ละทีมหลังจากการแข่งแต่ละนัดว่าอยู่อันดับที่เท่าไหร่ครับ
ตัวอย่างเช่น
แมนยู - หลังแข่งนัดที่ 1 ---> อยู่อันดับที่ 4 / หลังแข่งนัดที่ 2 ---> อยู่อันดับ 3
แมนซิ - หลังแข่งนัดที่ 1 ---> อยู่อันดับที่ 1 / หลังแข่งนัดที่ 2 ---> อยู่อันดับ 2
ทำแบบนี้จนถึงนัดที่ 38
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31205 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#6
Post
by snasui » Fri Jun 10, 2016 7:47 pm
ควรมีตารางสรุปคะแนนของแต่ละแมทช์ก่อนที่จะนำมาจัดลำดับ หากทำไว้แล้วช่วยแจ้งว่าอยู่ในพื้นที่ใดของ Worksheet ครับ
snasui
Site Admin
Posts: 31205 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#7
Post
by snasui » Sat Jun 11, 2016 9:17 am
ด้านล่างนี้เป็นตัวอย่างการทำข้อมูลรายแมทช์และแมทช์สะสม ซึ่งมีการแทรกคอลัมน์เข้ามาช่วยในการแสดงผลครับ
ภาพการแทรกคอลัมน์รายแมทช์
EachMatch.png
โดยมีลำดับดังนี้
เซลล์ S8 คีย์สูตร
=IF(T8="","",COUNTIF(T$8:T8,T8))
เซลล์T8 คีย์สูตร
=IFERROR(INDEX(CHOOSE({1,2},$F$8:$F$387,$L$8:$L$387),INT((ROWS(T$8:T8)-1)/2)+1,MOD((ROWS(T$8:T8)-1),2)+1),"")
เซลล์U8 คีย์สูตร
=IF($T8="","",(X8>Y8)+0)
เซลล์ V8 คีย์สูตร
=IF($T8="","",(X8=Y8)+0)
เซลล์ W8 คีย์สูตร
=IF($T8="","",(X8<Y8)+0)
เซลล์ X8 คีย์สูตร
=IFERROR(INDEX(CHOOSE({1,2},$H$8:$H$387,$J$8:$J$387),INT((ROWS(X$8:X8)-1)/2)+1,MOD((ROWS(X$8:X8)-1),2)+1),"")
เซลล์ Y8 คีย์สูตร
=IFERROR(INDEX(CHOOSE({1,2},$J$8:$J$387,$H$8:$H$387),INT((ROWS(Y$8:Y8)-1)/2)+1,MOD((ROWS(Y$8:Y8)-1),2)+1),"")
เซลล์ Z8 คีย์สูตร
=IF($T8="","",X8-Y8)
เซลล์ AA8 คีย์สูตร
=IFERROR(INDEX(CHOOSE({1,2},$P$8:$P$387,$Q$8:$Q$387),INT((ROWS(AA$8:AA8)-1)/2)+1,MOD((ROWS(AA$8:AA8)-1),2)
Copy สูตรทั้งหมดลงด้านล่างจนเห็นเป็นเซลล์ว่าง
ภาพการแทรกคอลัมน์แมทช์สะสม
AccumMatch.png
โดยมีลำดับดังนี้
เซลล์ AC8 คีย์สูตร
=S8
Enter > Copy ไป AD8
เซลล์ AF8 คีย์สูตร
=IF($T8<>"",SUMIF($T$8:$T8,$T8,U$8:U8),"")
Enter > Copy ด้านขวาจนถึง AL8
เซลล์ AN8 คีย์สูตร
=IF(T8<>"",SUM(AL8*1000000+AK8*10000+AI8*100+AF8*10),"")
Enter
เซลล์ AE8 คีย์สูตร
=IF(AD8="","",MATCH(AN8,LARGE(IF($AC$8:$AC$1000=AC8,$AN$8:$AN$1000),ROW(INDIRECT("1:20"))),0))
สูตรนี้กดแป้นให้รับสูตรเพียง Enter เหมือนสูตรทั่วไปไม่ได้ ต้องกด 3 แป้นคือ Ctrl+Shift+Enter เพื่อทำเป็นสูตร Array
Copy สูตรทั้งหมดลงด้านล่างจนเห็นเซลล์ว่าง
ภาพการแสดงลำดับรายแมทช์
PerMatchRanking.png
โดยคีย์สูตรที่ BE8 ตามด้านล่าง
=SUMIFS($AE$8:$AE$1000,$AD$8:$AD$1000,$BD8,$AC$8:$AC$1000,BE$7)
Enter แล้ว Copy ไปด้านขวาและลงด้านล่าง
สำหรับการแทรกภาพ ให้ลองทำมาเองก่อนตาม Link ที่คุณ DhitiBank แนะนำไป ติดตรงไหนแล้วค่อยถามกันต่อครับ
You do not have the required permissions to view the files attached to this post.
kaikungzaa
Member
Posts: 20 Joined: Thu Jun 09, 2016 3:09 pm
#8
Post
by kaikungzaa » Mon Jun 13, 2016 9:36 am
snasui wrote: ด้านล่างนี้เป็นตัวอย่างการทำข้อมูลรายแมทช์และแมทช์สะสม ซึ่งมีการแทรกคอลัมน์เข้ามาช่วยในการแสดงผลครับ
ภาพการแทรกคอลัมน์รายแมทช์
EachMatch.png
เซลล์ Y8 คีย์สูตร
=IFERROR(INDEX(CHOOSE({1,2},$J$8:$J$387,$H$8:$H$387),INT((ROWS(Y$8:Y8)-1)/2)+1,MOD((ROWS(Y$8:Y8)-1),2)+1),"")
เซลล์ AA8 คีย์สูตร
=IFERROR(INDEX(CHOOSE({1,2},$P$8:$P$387,$Q$8:$Q$387),INT((ROWS(AA$8:AA8)-1)/2)+1,MOD((ROWS(AA$8:AA8)-1),2)
AA8
=IFERROR(INDEX(CHOOSE({1,2},$P$8:$P$387,$Q$8:$Q$387),INT((ROWS(AA$8:AA8)-1)/2)+1,MOD((ROWS(AA$8:AA8)-1),2)
ลองคีย์แล้วมันไม่ได้ ต้องมี +1),"") ปิดท้ายเหมือน Y8 ด้วยเปล่าครับ
kaikungzaa
Member
Posts: 20 Joined: Thu Jun 09, 2016 3:09 pm
#9
Post
by kaikungzaa » Mon Jun 13, 2016 10:59 am
snasui wrote:
ภาพการแทรกคอลัมน์แมทช์สะสม
AccumMatch.png
โดยมีลำดับดังนี้
เซลล์ AC8 คีย์สูตร
=S8
Enter > Copy ไป T8
จริงๆ ต้อง Copy ไป D8 ใช่หรือเปล่าครับ
snasui
Site Admin
Posts: 31205 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#10
Post
by snasui » Mon Jun 13, 2016 6:32 pm
kaikungzaa wrote: AA8
=IFERROR(INDEX(CHOOSE({1,2},$P$8:$P$387,$Q$8:$Q$387),INT((ROWS(AA$8:AA8)-1)/2)+1,MOD((ROWS(AA$8:AA8)-1),2)
ลองคีย์แล้วมันไม่ได้ ต้องมี +1),"") ปิดท้ายเหมือน Y8 ด้วยเปล่าครับ
เข้าใจถูกแล้วครับ สูตรมี 2 บรรทัด ผมปรับ Font ใหม่ให้เห็นชัดขึ้นแล้ว
kaikungzaa wrote: ภาพการแทรกคอลัมน์แมทช์สะสม
AccumMatch.png
โดยมีลำดับดังนี้
เซลล์ AC8 คีย์สูตร
=S8
Enter > Copy ไป T8
จริงๆ ต้อง Copy ไป D8 ใช่หรือเปล่าครับ
ต้อง Copy ไปเซลล์ด้านขวาคือ
AD 8 ผมย้อนกลับไปแก้ข้อความในโพสต์เดิมแล้วครับ
kaikungzaa
Member
Posts: 20 Joined: Thu Jun 09, 2016 3:09 pm
#11
Post
by kaikungzaa » Tue Jun 14, 2016 9:15 am
ขอบคุณมากครับ ตอนนี้ได้แล้ว เหลือตรงโลโก้ ของลองศึกษาก่อนครับ
kaikungzaa
Member
Posts: 20 Joined: Thu Jun 09, 2016 3:09 pm
#12
Post
by kaikungzaa » Tue Jun 14, 2016 5:18 pm
snasui wrote: ด้านล่างนี้เป็นตัวอย่างการทำข้อมูลรายแมทช์และแมทช์สะสม ซึ่งมีการแทรกคอลัมน์เข้ามาช่วยในการแสดงผลครับ
ถ้าต้องการแบบนี้ จะแก้สูตรยังไงครับ
1.ใส่ผลการแข่งนัดที่1 ของแต่ละทีม
2.กรณีที่ยังไม่ใส่ผลการแข่ง ต้องการให้ คอลัมน์ V เป็น 0 ครับ
3.ต้องการให้ sum เฉพาะนัดที่ใส่ผลการแข่งแล้วครับ ถ้ายังไม่ได้แข่งต้องการให้เป็น 0 ครับ
4.ต้องการให้อันดับที่ของแต่ละทีมขึ้นมาทีละนัดครับ แต่ในนี้ขึ้นมาทีเดียวเลย กรณีที่ยังไม่ใส่ผลการแข่ง ต้องการให้เซล์ว่างๆครับ เพราะผมจะเอาไปสร้างกราฟครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31205 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#13
Post
by snasui » Wed Jun 15, 2016 6:44 pm
ช่วยแนบตัวอย่างไฟล์ล่าสุดมาด้วยจะได้ช่วยตอบต่อไปจากนั้น ปกติผมไม่ Save ไฟล์ที่ใช้ตอบกระทู้เลยไม่มีไฟล์ล่าสุดเก็บไว้ครับ
snasui
Site Admin
Posts: 31205 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#15
Post
by snasui » Fri Jun 17, 2016 6:45 pm
ตัวอย่างสูตรครับ
เซลล์ S8 คีย์
=IF(INDEX(CHOOSE({1,2},$H$8:$H$387,$J$8:$J$387),INT((ROWS(T$8:T8)-1)/2)+1,MOD((ROWS(T$8:T8)-1),2)+1),COUNTIF(T$8:T8,T8),"")
Enter > Copy ลงด้านล่าง
เซลล์ U8 คีย์
=IF($S8="","",(X8>Y8)+0)
Enter > Enter > Copy ลงด้านล่างและปรับสูตรการแสดงค่าว่างเช่นสูตรนี้ไปใช้กับเซลล์อื่นๆ ในทุกพื้นที่
เซลล์ AD8 คีย์
=T8
Enter > Copy ลงด้านล่าง
เซลล์ AE8 คีย์
=IF(AC8="","",MATCH(AN8,LARGE(IF($AC$8:$AC$1000=AC8,$AN$8:$AN$1000),ROW(INDIRECT("1:20"))),0))
Ctrl+Shift+Enter > Copy ลงด้านล่าง
เซลล์ AQ8 คีย์
=IF(COUNTIF($S$8:$S$767,AQ$7),SUMIFS($AE$8:$AE$1000,$AD$8:$AD$1000,$AP8,$AC$8:$AC$1000,AQ$7),"")
Enter > Copy ไปด้านขลาและลงด้านล่าง