Page 1 of 1
ขอความช่วยเหลือการจัดเรียงอันดับอัตโนมัติ 2เงื่อนข
Posted: Sat Apr 06, 2019 2:22 am
by tigerwit
จากไฟล์ที่แนบมา
ชีท Rank ใช้ในการกรอกข้อมูลและจัดเรียงลำดับไว้เบื้องต้น
ชีท rank2 ดึงข้อมูลจากชีท rank มาแสดงผล และเรียงลำดับตามคะแนนประเมินจากมากไปหาน้อยอัตโนมัติ
ที่ต้องการตอนนี้คือ
เรียงลำดับโรงเรียนตามรหัสโรงเรียนก่อน (S1-S6)
แล้วต่อด้วยคะแนนจากมากไปหาน้อย
ตอนนี้ทำได้แค่เรียงคะแนน
จึงมาขอความช่วยเหลือครับผม
Re: ขอความช่วยเหลือการจัดเรียงอันดับอัตโนมัติ 2เงื่อนข
Posted: Sat Apr 06, 2019 8:27 am
by snasui

ตัวอย่างสูตรครับ
ที่ชีต Rank1
- ที่ R6, S6 คีย์ RankInner, RankOuter ตามลำดับ
- ที่ R7 คีย์
=MATCH(H7,LARGE(IF($O$7:$O$30=O7,$H$7:$H$30),ROW(INDIRECT("1:"&COUNTIF($O$7:$O$30,O7)))),0)
Ctrl+Shift+Enter > Copy ลงด้านล่าง
- ที่ S7 คีย์
=SUMPRODUCT(--(O7&R7>$O$7:$O$30&$R$7:$R$30))+SUMPRODUCT(--(O7&R7=$O$7:$O7&$R$7:$R7))
Enter > Copy ลงด้านล่าง
ที่ชีต Rank2
- ที่ S4 คีย์
=MAX(rank1!S:S)
Enter > Copy ลงด้านล่าง
- ที่ A7 คีย์
=IF(ROWS(A7:A$7)>$S$4,"",ROWS(A$7:A7))
Enter > Copy ลงด้านล่าง
- ที่ B7 คีย์
=IF($A7,INDEX(rank1!B$7:B$30,MATCH($A7,rank1!$S$7:$S$30,0)),"")
Enter > Copy ไปด้านขวาลงด้านล่างจนเต็มตาราง
Re: ขอความช่วยเหลือการจัดเรียงอันดับอัตโนมัติ 2เงื่อนข
Posted: Sat Apr 06, 2019 9:56 am
by tigerwit
ขอบคุณครับผม
Re: ขอความช่วยเหลือการจัดเรียงอันดับอัตโนมัติ 2เงื่อนข
Posted: Sat Apr 06, 2019 10:20 am
by tigerwit
Re: ขอความช่วยเหลือการจัดเรียงอันดับอัตโนมัติ 2เงื่อนข
Posted: Sat Apr 06, 2019 11:27 am
by puriwutpokin
ลองดูตามไฟล์ แนบครับ
Re: ขอความช่วยเหลือการจัดเรียงอันดับอัตโนมัติ 2เงื่อนข
Posted: Sat Apr 06, 2019 12:10 pm
by snasui

เขียนสูตรซ้อนกันครับ ให้ลบบรรทัดล่างทิ้งไปครับ
Re: ขอความช่วยเหลือการจัดเรียงอันดับอัตโนมัติ 2เงื่อนข
Posted: Sat Apr 06, 2019 4:40 pm
by tigerwit
ตามตัวอย่างทำได้แล้วครับ
พอนำไปประยุกต์ใช้มันเพียนไปครับ
ผมหาดูตั้งนานยังไม่รู้ที่ผิดพลาด
ขอความช่วยเหลือตรวจสอบสูตรในชีท Rank2 ด้วยครับ
ตอนนี้กลายเป็นเรียงจากน้อยไปมาก และโรงเรียนไม่เรียนตามลำดับครับผม
Re: ขอความช่วยเหลือการจัดเรียงอันดับอัตโนมัติ 2เงื่อนข
Posted: Sat Apr 06, 2019 5:45 pm
by snasui

ตัวอย่างสูตรตามด้านล่างครับ
ที่ชีต Rank1
- ที่ Y7 คีย์
=MATCH(N7,LARGE(IF($V$7:$V$66=V7,$N$7:$N$66),ROW(INDIRECT("1:"&COUNTIF($V$7:$V$66,V7)))),0)/10
Ctrl+Shift+Enter > Copy ลงด้านล่าง
- ที่ Z7 คีย์
=SUMPRODUCT(--(V7&Y7>$V$7:$V$66&$Y$7:$Y$66))+SUMPRODUCT(--(V7&Y7=$V$7:$V7&$Y$7:$Y7))
Enter > Copy ลงด้านล่าง
Re: ขอความช่วยเหลือการจัดเรียงอันดับอัตโนมัติ 2เงื่อนข
Posted: Sat Apr 06, 2019 7:00 pm
by tigerwit
ได้ตามต้องการครับ
ขอบคุณมากๆครับ
Re: ขอความช่วยเหลือการจัดเรียงอันดับอัตโนมัติ 2เงื่อนข
Posted: Sun Apr 07, 2019 8:05 am
by tigerwit
สวัสดีครับ...จากการที่ได้คำแนะนำแล้วนำไปประยุกต์ใช้ในการออกแบบการคำนวณการเลื่อนเงินเดือนแบบเปอร์เซ็นต์ของข้าราชการครูนั้น
สามารถใช้งานได้ตรงความต้องการ แต่มีประเด็นเพิ่มเติมดังนี้ครับ
1.ในกรณีของตัวอย่างนี้เรามีข้อมูลครูจำนวน 60 คนพอดี จึงใช้ได้ดี
2. หากเราต้องการออกแบบให้ชีท Rank1 และ Rank2 ไว้รองรับจำนวนครูที่จะเพิ่มในปีหน้า คาดว่าจะมีอีก 10 คน โดยในชีท Rank1 และ Rank2 เราทำการ Copy สูตรมารองรับของมูลครูที่จะเพิ่มใน ชีท Teach ไว้อีก 10 แถว จะสามารถทำได้หรืออย่างไรครับ ผมลองทำดูแล้วมันขึ้นค่า #ref ดังไฟล์ตัวอย่างที่แนบมาพร้อมนี้
Re: ขอความช่วยเหลือการจัดเรียงอันดับอัตโนมัติ 2เงื่อนข
Posted: Sun Apr 07, 2019 8:27 am
by snasui

ตัวอย่างการปรับสูตรตามด้านล่างครับ
ชีต Rank1
- ที่ Y7 คีย์
=IFERROR(MATCH(N7,LARGE(IF($V$7:$V$76=V7,$N$7:$N$76),ROW(INDIRECT("1:"&COUNTIF($V$7:$V$76,V7)))),0)/10,"")
Ctrl+Shift+Enter > Copy ลงด้านล่าง
- ที่ Z7 คีย์
=IF(Y7="","",SUMPRODUCT(--(V7&Y7>$V$7:$V$76&$Y$7:$Y$76))+SUMPRODUCT(--(V7&Y7=$V$7:$V7&$Y$7:$Y7))-COUNTIF($Y$7:$Y$76,""))
Enter > Copy ลงด้านล่าง
ชีต Rank2
- ที่ B7 คีย์
=IF(N($A7),INDEX(Rank1!A$7:A$66,MATCH($A7,Rank1!$Z$7:$Z$66,0)),"")
Enter > Copy ไปด้านขวาและลงด้านล่างให้เต็มตาราง
Re: ขอความช่วยเหลือการจัดเรียงอันดับอัตโนมัติ 2เงื่อนข
Posted: Sun Apr 07, 2019 8:52 am
by tigerwit
ชีต Rank1
ที่ Y7 คีย์
=IFERROR(MATCH(N7,LARGE(IF($V$7:$V$76=V7,$N$7:$N$76),ROW(INDIRECT("1:"&COUNTIF($V$7:$V$76,V7)))),0)/10,"")
Ctrl+Shift+Enter > Copy ลงด้านล่าง
ที่ Z7 คีย์
=IF(Y7="","",SUMPRODUCT(--(V7&Y7>$V$7:$V$76&$Y$7:$Y$76))+SUMPRODUCT(--(V7&Y7=$V$7:$V7&$Y$7:$Y7))-COUNTIF($Y$7:$Y$76,""))
Enter > Copy ลงด้านล่าง
ชีต Rank2
ที่ B7 คีย์
=IF(N($A7),INDEX(Rank1!A$7:A$66,MATCH($A7,Rank1!$Z$7:$Z$66,0)),"")
Enter > Copy ไปด้านขวาและลงด้านล่างให้เต็มตาราง
ปรับแก้นิดหนึ่งสงสัย อ.ลืม
ที่ B7 คีย์
=IF(N($A7),INDEX(Rank1!A$7:A$66,MATCH($A7,Rank1!$Z$7:$Z$66,0)),"")
เป็น
ที่ B7 คีย์
=IF(N($A7),INDEX(Rank1!A$7:A$76,MATCH($A7,Rank1!$Z$7:$Z$76,0)),"")
ขอบพระคุณอย่างสูงครับ
จบงานได้แล้วครับ
Re: ขอความช่วยเหลือการจัดเรียงอันดับอัตโนมัติ 2เงื่อนข
Posted: Sun Apr 07, 2019 4:50 pm
by linzhengli
ขอเรียนถามว่า คำตอบสูตรที่ตอบท้ายสุด ถ้าเป็นระบบ excel 2003 ใช้อย่างไรครับ และขอบคุณมา ณ โอกาสนี้
Re: ขอความช่วยเหลือการจัดเรียงอันดับอัตโนมัติ 2เงื่อนข
Posted: Sun Apr 07, 2019 4:56 pm
by linzhengli
หมายถึงที่ y7 ครับ
Re: ขอความช่วยเหลือการจัดเรียงอันดับอัตโนมัติ 2เงื่อนข
Posted: Sun Apr 07, 2019 5:04 pm
by snasui

สูตรตามความเห็นที่ #11 ใช้ได้กับทุก Version ครับ