Page 1 of 1

สอบถามเรื่องการจัด Rank แบบมีลำดับซ้ำกัน และไม่ข้ามตัวเลขครับ

Posted: Thu Sep 06, 2018 1:38 pm
by ktb590724
เรียน อาจารย์ และเพื่อนๆสมาชิกทุกๆท่านครับ

ผมขอสอบถามการเขียนเงื่อนไข การจัด Rank แบบมีลำดับซ้ำกัน และไม่ข้ามตัวเลขครับ ทดลองใช้ Rank ธรรมดา มันจะข้ามตัวเลขกรณีมีค่าที่ซ้ำกัน

ข้อมูลตัวอย่างตามไฟล์แนบครับ



ขอบพระคุณครับ

Re: สอบถามเรื่องการจัด Rank แบบมีลำดับซ้ำกัน และไม่ข้ามตัวเลขครับ

Posted: Thu Sep 06, 2018 2:13 pm
by Supachok
ใช้สูตรนี้ + ต่อจาก Rank.

+COUNTIF($A$2:A100,A2)-1

Re: สอบถามเรื่องการจัด Rank แบบมีลำดับซ้ำกัน และไม่ข้ามตัวเลขครับ

Posted: Thu Sep 06, 2018 2:48 pm
by astalavista
ลองใส่ ที่ C2=SUMPRODUCT(--(A2<$A$2:$A$11),1/COUNTIF($A$2:$A$11,$A$2:$A$11))+1 แล้วลากลงครับ

Re: สอบถามเรื่องการจัด Rank แบบมีลำดับซ้ำกัน และไม่ข้ามตัวเลขครับ

Posted: Thu Sep 06, 2018 3:54 pm
by ktb590724
Supachok wrote: Thu Sep 06, 2018 2:13 pm ใช้สูตรนี้ + ต่อจาก Rank.

+COUNTIF($A$2:A100,A2)-1
ทำไมผมใส่ตามนี้แล้ว มันขึ้น อันดับเริ่มจาก 2 เลยครับ ไม่มี 1 ครับ

Re: สอบถามเรื่องการจัด Rank แบบมีลำดับซ้ำกัน และไม่ข้ามตัวเลขครับ

Posted: Thu Sep 06, 2018 3:57 pm
by ktb590724
astalavista wrote: Thu Sep 06, 2018 2:48 pm ลองใส่ ที่ C2=SUMPRODUCT(--(A2<$A$2:$A$11),1/COUNTIF($A$2:$A$11,$A$2:$A$11))+1 แล้วลากลงครับ
ขอบคุณครับ ใช้ได้เลยครับ แต่สูตรยากจังครับ แกะสูตรก็ยังงงๆอยู่ครับ พอจะอธิบายได้ไหมครับ

ขอบคุณมากครับ

Re: สอบถามเรื่องการจัด Rank แบบมีลำดับซ้ำกัน และไม่ข้ามตัวเลขครับ

Posted: Thu Sep 06, 2018 4:27 pm
by Bo_ry
D2 =COUNTIF($A$2:$A$11,">"&A2)+COUNTIF($A$2:$A2,A2)

Re: สอบถามเรื่องการจัด Rank แบบมีลำดับซ้ำกัน และไม่ข้ามตัวเลขครับ

Posted: Fri Sep 07, 2018 10:33 am
by ktb590724
Bo_ry wrote: Thu Sep 06, 2018 4:27 pm D2 =COUNTIF($A$2:$A$11,">"&A2)+COUNTIF($A$2:$A2,A2)
ทดลองแล้วได้มันไม่นับค่าซ้ำให้ นับเป็นอันดับถัดไปให้เลยครับ

ขอบคุณครับ

Re: สอบถามเรื่องการจัด Rank แบบมีลำดับซ้ำกัน และไม่ข้ามตัวเลขครับ

Posted: Fri Sep 07, 2018 12:33 pm
by Bo_ry
งั้นก็ต้องแบบข้างบน วิธีคือ

COUNTIF($A$2:$A$11,$A$2:$A$11) นับว่าแต่ละเลขมีกี่ตัว
1/COUNTIF($A$2:$A$11,$A$2:$A$11) ที่มี2ตัวจะเป็น 1/2 0.5 มี2ตัว 0.5+0.5 = 1
ถ้ามี3ตัวจะเป็น 1/3 0.333 สามตัว 1/3*3 = 1
อันนี้รวมกันจะได้ 8 คือนับเฉพาะที่ไม่ซ้ำว่ามีกี่ตัว

=--(A2<$A$2:$A$11) หาเฉพาะเลขที่มากกว่าตัวเอง A2 = 100 ไม่มีตัวไหนมากกว่า 100 จะได้ 0 ทุกค่า +1 ก็ได้ 1

=--(A3<$A$2:$A$11) A3 = 90 มี 100 95 100 94 ที่มากกว่า นับแบบปกติจะได้ 4
เมื่อคูณ 1/countif columnจะรวม 0.5 1 0.5 1 จะได้ 3 แล้วบวกอีก 1 ได้ 4
คิดแบบนี้ทุกแถวจนถึง A11
rank.png
สรุปคือนับเลขที่มากกว่าตัวเองแบบไม่ซ้ำ + 1
100 ได้ 0 +1 =1
90 มี 100 95 94 มากกว่าได้ 3 +1 = 4

อธิบายได้แค่นี้นะ

อีกแบบ ยากกว่าเดิมอีก
=SUMPRODUCT(--($A$2:$A$12>A2),--(FREQUENCY($A$2:$A$11,$A$2:$A$11)>0))+1