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
:D ตัวอย่างสูตรครับ

ที่ชีต Rank1
  1. ที่ R6, S6 คีย์ RankInner, RankOuter ตามลำดับ
  2. ที่ 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 ลงด้านล่าง
  3. ที่ S7 คีย์
    =SUMPRODUCT(--(O7&R7>$O$7:$O$30&$R$7:$R$30))+SUMPRODUCT(--(O7&R7=$O$7:$O7&$R$7:$R7))
    Enter > Copy ลงด้านล่าง
ที่ชีต Rank2
  1. ที่ S4 คีย์
    =MAX(rank1!S:S)
    Enter > Copy ลงด้านล่าง
  2. ที่ A7 คีย์
    =IF(ROWS(A7:A$7)>$S$4,"",ROWS(A$7:A7))
    Enter > Copy ลงด้านล่าง
  3. ที่ 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
เป็นค่า True หมดเลยครับ :oops: :( :oops:

Re: ขอความช่วยเหลือการจัดเรียงอันดับอัตโนมัติ 2เงื่อนข

Posted: Sat Apr 06, 2019 11:27 am
by puriwutpokin
ลองดูตามไฟล์ แนบครับ

Re: ขอความช่วยเหลือการจัดเรียงอันดับอัตโนมัติ 2เงื่อนข

Posted: Sat Apr 06, 2019 12:10 pm
by snasui
tigerwit wrote: Sat Apr 06, 2019 10:20 am เป็นค่า True หมดเลยครับ :oops: :( :oops:
:D เขียนสูตรซ้อนกันครับ ให้ลบบรรทัดล่างทิ้งไปครับ

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
:D ตัวอย่างสูตรตามด้านล่างครับ

ที่ชีต Rank1
  1. ที่ 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 ลงด้านล่าง
  2. ที่ 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
:D ตัวอย่างการปรับสูตรตามด้านล่างครับ

ชีต Rank1
  1. ที่ 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 ลงด้านล่าง
  2. ที่ 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
  1. ที่ 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 ไปด้านขวาและลงด้านล่างให้เต็มตาราง
ปรับแก้นิดหนึ่งสงสัย อ.ลืม :D
ที่ 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
:D สูตรตามความเห็นที่ #11 ใช้ได้กับทุก Version ครับ