Vba: cara mengklasifikasikan daftar nilai


Anda dapat menggunakan sintaks dasar berikut untuk mengurutkan daftar nilai di Excel menggunakan 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

Contoh khusus ini memberi peringkat pada nilai di sel B2:B11 dan menampilkan peringkat di sel C2:C11 .

Argumen terakhir 0 menetapkan bahwa nilai harus diberi peringkat dalam urutan menaik (nilai terbesar mendapat peringkat 1, nilai terbesar kedua mendapat peringkat 2, dll.).

Untuk mengurutkan nilai dalam urutan menurun, cukup ganti 0 dengan 1 .

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh : Cara Mengurutkan Nilai Menggunakan VBA

Misalkan kita memiliki daftar pemain bola basket berikut beserta poin yang mereka peroleh:

Misalkan kita ingin menghitung rangking setiap nilai pada kolom poin.

Kita dapat membuat makro berikut untuk melakukan ini:

 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

Saat kami menjalankan makro ini, kami menerima keluaran berikut:

Pemeringkatan setiap nilai pada kolom poin ditampilkan pada kolom C.

Misalnya:

  • Pemain H dengan 41 poin memiliki nilai poin tertinggi, sehingga mendapat peringkat 1 .
  • Pemain C dengan 40 poin mempunyai nilai poin tertinggi kedua, sehingga mendapat peringkat 2 .

Dan seterusnya.

Untuk mengurutkan nilai pada kolom poin dalam urutan menurun, kita dapat mengubah argumen terakhir metode Rank dari 0 menjadi 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

Saat kami menjalankan makro ini, kami menerima keluaran berikut:

Pemeringkatan setiap nilai pada kolom poin ditampilkan pada kolom C.

Misalnya:

  • Pemain I dengan 11 poin memiliki nilai poin terendah, sehingga mendapat peringkat 1 .
  • Pemain E dengan 13 poin mempunyai nilai poin terendah kedua, sehingga mendapat peringkat 2 .

Dan seterusnya.

Catatan : Anda dapat menemukan dokumentasi lengkap untuk metode VBA Rank di sini .

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di VBA:

VBA: Cara menghitung sel dengan teks tertentu
VBA: Cara menghitung jumlah baris dalam jangkauan
VBA: Cara menulis fungsi COUNTIF dan COUNTIFS

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *