Page 1 of 1

แก้ไขสูตร ลำดับคะแนน ให้หน่อยครับ

Posted: Sat Oct 29, 2011 10:14 am
by thanawat
พอดีว่าผมได้นำเอาสูตร ลำดับคะแนนที่อาจารย์โพส์ไว้ไปใช้
แต่ผมเพิ่มเติมไปนิดหนึ่ง แต่มันerror ช่วยดูให้หน่อยครับว่าผิดพลาดตรงไหนครับ

ไฟล์แนบครับ

Re: แก้ไขสูตร ลำดับคะแนน ให้หน่อยครับ

Posted: Sat Oct 29, 2011 10:17 am
by snasui
:D ไม่ทราบว่าต้องการทำอะไร คำตอบที่ถูกต้องเป็นอย่างไร ช่วยอธิบายโดยยกตัวอย่างประกอบด้วย จะได้เข้าใจตรงกันครับ

Re: แก้ไขสูตร ลำดับคะแนน ให้หน่อยครับ

Posted: Sat Oct 29, 2011 10:24 am
by thanawat
snasui wrote::D ไม่ทราบว่าต้องการทำอะไร คำตอบที่ถูกต้องเป็นอย่างไร ช่วยอธิบายโดยยกตัวอย่างประกอบด้วย จะได้เข้าใจตรงกันครับ
อยากให้ คอลัม f เรียงลำดับคะแนนในดอลัม d ครับ
คอลัม f
-
4
3
-
3
2
1
1
1

Re: แก้ไขสูตร ลำดับคะแนน ให้หน่อยครับ

Posted: Sat Oct 29, 2011 10:46 am
by snasui
:D ลองตามนี้ครับ

ที่ F2 คีย์

=IF(OR(G2<>"",E2<>""),"-",IF(D2="","",MATCH($D2,LARGE(IF(FREQUENCY(MATCH($D$2:$D$60,$D$2:$D$60,0),ROW($D$2:$D$60)-ROW($D$2)+1),$D$2:$D$60),ROW(INDIRECT("1:"&ROUND(SUM(1/COUNTIF($D$2:$D$60,$D$2:$D$60)),0)))),0)))

Ctrl+Shift+Enter > Copy ลงด้านล่าง

ปัญหาคือ SUM(1/COUNTIF($D$2:$D$60,$D$2:$D$60)) แสดงเป็นทศนิยม จึงต้องใช้ Round มาช่วย จะได้เป็น ROUND(SUM(1/COUNTIF($D$2:$D$60,$D$2:$D$60)),0)

นอกจากนี้ได้ใช้ Or มาช่วยเพื่อลดการใช้ฟังก์ชั่น If

Re: แก้ไขสูตร ลำดับคะแนน ให้หน่อยครับ

Posted: Sun Oct 30, 2011 12:01 pm
by norkaz
นำ IF(OR() มาปิดในช่วงสุดท้าย
หยิบ OR มาใช้ในจังหวะที่คลาสสิคมากครับ
โดยไม่จำเป็นต้องซ้อน IF ลงไปอีกชั้น
ทำให้สูตรไม่เยิ่นเย้อไปมากกว่าที่มันควรจะเป็น

Norkaz