หน้าแรก › บทความ › Microsoft
Microsoft

จัดอันดับใน Excel แบบไม่มีเลขข้าม อันดับในกลุ่ม และอันดับไม่ซ้ำ

เผยแพร่ 29 ส.ค. 69

RANK.EQ จัดอันดับพื้นฐาน แต่พองานจริงมักเจอโจทย์เพิ่ม เช่น “อันดับที่ไม่มีเลขข้ามเวลามีคะแนนเท่ากัน” “อันดับแยกตามกลุ่ม” หรือ “ทำให้ทุกคนได้อันดับไม่ซ้ำ” บทความนี้รวมสูตรจัดอันดับแบบต่างๆ ที่ RANK.EQ เดี่ยวๆ ทำไม่ได้

🎬 ดูวิดีโอสอน (1 นาที 52 วินาที) บน Excel จริง หรืออ่านขั้นตอนละเอียดด้านล่างได้เลย

ทบทวน: RANK.EQ ปกติจะเว้นเลขเมื่อมีตัวเสมอ

ตัวอย่างสูตร =RANK.EQ(B2, $B$2:$B$6, 0) ใน Excel (ภาพจากหน้าจอจริง)
ภาพจากหน้าจอ Excel จริง (ตัวอย่างข้อมูลในวิดีโอ)

แนนกับเจนได้อันดับ 2 เท่ากัน อันดับถัดไปจึงกระโดดไปเป็น 4 (ไม่มีอันดับ 3)

แบบที่ 1: อันดับไม่มีเลขข้าม (Dense Rank)

ตัวอย่างสูตร =SUMPRODUCT((($B$2:$B$6>B2)/COUNTIF($B$2:$B$6,$B$2:$B$6)))+1 ใน Excel (ภาพจากหน้าจอจริง)” width=”1900″ height=”306″ class=”wp-image-11181″ style=”max-width:100%;height:auto;border-radius:8px;” /><figcaption>ภาพจากหน้าจอ Excel จริง (ตัวอย่างข้อมูลในวิดีโอ)</figcaption></figure>
<p>คราวนี้ปุ๊กได้อันดับ 3 (ไม่กระโดด) สูตรนับ “จำนวนค่าที่มากกว่า” แบบไม่นับซ้ำ ด้วยการหารด้วย <a href=COUNTIF ของตัวเอง

แบบที่ 2: บังคับให้อันดับไม่ซ้ำกันเลย

ตัวอย่างสูตร =RANK.EQ(B2,$B$2:$B$6,0) + COUNTIF($B$2:B2, B2) - 1 ใน Excel (ภาพจากหน้าจอจริง)
ภาพจากหน้าจอ Excel จริง (ตัวอย่างข้อมูลในวิดีโอ)

ตัวที่เสมอกัน ตัวที่เจอทีหลังจะถูกดันลงไปหนึ่งอันดับ (แนน = 2, เจน = 3) ใช้ตอนต้องมีผู้ชนะเดียวหรือจับสลากลำดับ

แบบที่ 3: อันดับภายในกลุ่ม

ตัวอย่างสูตร =COUNTIFS($A$2:$A$7, A2, $C$2:$C$7, ">"&C2) + 1 ใน Excel (ภาพจากหน้าจอจริง)” width=”1900″ height=”266″ class=”wp-image-11179″ style=”max-width:100%;height:auto;border-radius:8px;” /><figcaption>ภาพจากหน้าจอ Excel จริง (ตัวอย่างข้อมูลในวิดีโอ)</figcaption></figure>
<p><a href=COUNTIFS นับว่าในห้องเดียวกันมีกี่คนที่คะแนนสูงกว่า แล้วบวก 1 ได้อันดับภายในห้องนั้นๆ เปลี่ยน > เป็น < ถ้าน้อยแล้วดี (เช่น เวลาวิ่ง)

แบบที่ 4: จัดอันดับด้วย 2 เกณฑ์

เช่น เรียงตามคะแนนก่อน ถ้าเท่ากันให้ดูเวลาที่น้อยกว่า สร้างคีย์รวม แล้ว RANK

=SUMPRODUCT(($B$2:$B$7*1000 - $C$2:$C$7 > B2*1000 - C2)*1) + 1

คูณคะแนนด้วย 1000 เพื่อให้มีน้ำหนักหลัก แล้วลบเวลาออกเป็นตัวตัดสินรอง ปรับตัวคูณตามช่วงข้อมูลจริง

ข้อควรรู้

  • อาร์กิวเมนต์ที่ 3 ของ RANK.EQ — 0 หรือเว้นว่าง = มากอยู่อันดับ 1, 1 = น้อยอยู่อันดับ 1
  • วิธี COUNTIFS ดีสุดสำหรับอันดับในกลุ่ม — อ่านง่ายและไม่ต้องใช้ array
  • อยากได้ Top N ต่อกลุ่ม — ใช้สูตรอันดับในกลุ่มแล้วกรอง ≤3 หรือใช้ LARGE ต่อกลุ่ม
  • อันดับเป็นเปอร์เซ็นไทล์ — ใช้ PERCENTRANK

หมายเหตุ: บทความนี้เขียนและเรียบเรียงโดย AI

← กลับหน้าบทความ
Line