Vba: วิธีจัดประเภทรายการค่า


คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อเรียงลำดับรายการค่าใน Excel โดยใช้ VBA:

 SubRankValues ()
    Dim i As Integer

    For i = 2 To 11
    Range(" C " & i) = WorksheetFunction.Rank(Range(" B " & i), Range(" B2:B11 "), 0)
    Next i
End Sub

ตัวอย่างนี้จัดอันดับค่าในเซลล์ B2:B11 และแสดงอันดับในเซลล์ C2:C11

อาร์กิวเมนต์สุดท้ายของ 0 ระบุว่าค่าจะต้องเรียงลำดับจากน้อยไปมาก (ค่าที่ใหญ่ที่สุดจะได้รับอันดับ 1 ค่าที่ใหญ่เป็นอันดับสองจะได้รับอันดับ 2 เป็นต้น)

หากต้องการเรียงลำดับค่าจากมากไปน้อย เพียงแทนที่ 0 ด้วย 1

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่าง: วิธีเรียงลำดับค่าโดยใช้ VBA

สมมติว่าเรามีรายชื่อผู้เล่นบาสเก็ตบอลพร้อมคะแนนที่ทำได้ดังต่อไปนี้:

สมมติว่าเราต้องการคำนวณอันดับของแต่ละค่าในคอลัมน์คะแนน

เราสามารถสร้างมาโครต่อไปนี้เพื่อทำสิ่งนี้:

 SubRankValues ()
    Dim i As Integer

    For i = 2 To 11
    Range(" C " & i) = WorksheetFunction.Rank(Range(" B " & i), Range(" B2:B11 "), 0)
    Next i
End Sub

เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:

การจัดอันดับของแต่ละค่าในคอลัมน์คะแนนจะแสดงในคอลัมน์ C

ตัวอย่างเช่น:

  • ผู้เล่น H ที่มี 41 แต้มมีค่าแต้มสูงสุด ดังนั้นเขาจึงได้รับอันดับ 1
  • ผู้เล่น C ที่มี 40 คะแนนจะมีคะแนนสูงสุดเป็นอันดับสอง ดังนั้นเขาจึงได้รับอันดับที่ 2

และอื่นๆ

หากต้องการจัดอันดับค่าในคอลัมน์คะแนนตามลำดับจากมากไปน้อย เราสามารถเปลี่ยนอาร์กิวเมนต์สุดท้ายของวิธี Rank จาก 0 เป็น 1 :

 SubRankValues ()
    Dim i As Integer

    For i = 2 To 11
    Range(" C " & i) = WorksheetFunction.Rank(Range(" B " & i), Range(" B2:B11 "), 1)
    Next i
End Sub

เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:

การจัดอันดับของแต่ละค่าในคอลัมน์คะแนนจะแสดงในคอลัมน์ C

ตัวอย่างเช่น:

  • ผู้เล่นที่ 1 ที่มี 11 แต้มมีค่าแต้มต่ำสุด ดังนั้นเขาจึงได้รับอันดับ 1
  • ผู้เล่น E ที่มี 13 แต้มจะมีแต้มต่ำสุดเป็นอันดับสอง ดังนั้นเขาจึงได้อันดับ 2

และอื่นๆ

หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มสำหรับวิธี VBA Rank ได้ที่นี่

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:

VBA: วิธีนับเซลล์ด้วยข้อความเฉพาะ
VBA: วิธีนับจำนวนแถวในช่วง
VBA: วิธีเขียนฟังก์ชัน COUNTIF และ COUNTIFS

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *