Studi Kasus: Mendapatkan Top 10 List dengan Formula Excel

Pihak manajemen sering sekali menginginkan informasi top 10 dari berbagai hal, misalkan top 10 produk dengan penjualan tertinggi, top 10 karyawan dengan KPI terbaik, dll.

Solusinya tentu melakukan pengurutan atau sorting pada data asal tersebut dan kemudian diambil 10 record saja.

Nah, seiring kompleksitas pekerjaan kita. Sering sekali kita tidak ingin sumber data kita diganggu. Kita hanya ingin table terpisah yang mengambil 10 data berdasarkan pengurutan di table asal.

Bagaimana kita melakukan hal tersebut? Caranya bisa dengan menggunakan gabungan beberapa fungsi seperti ditunjukkan pada langkah-langkah berikut:
  1. Download file contoh dari belajar-excel-pageviews-sort.xlsx.
  2. Buka file tersebut dengan Excel.
  3. Terlihat ada 13 baris data jumlah pageviews dari website BelajarExcel.info. Kita akan mengurutkan top 10 jumlah pageviews dengan topiknya.

  4. Pada cell G4 masukkan rumus berikut.

    =LARGE($C$4:$C$16,E4)
  5. Copy rumus tersebut ke cell G5 s/d G13 dengan menggunakan fill handle.

  6. Terlihat data sudah terurut dari besar ke kecil, namun memang kita batasin untuk 10 baris saja.



    Perhatikan, kalau ada 2 nilai yang sama yaitu 1251. Ini yang akan menjadi tantangan selanjutnya untuk mendapatkan nama topik terkait. Dengan menyadari hal ini, kita akan menemukan nilai ini adalah kemunculan keberapa kalinya dengan rumus COUNTIF.
  7. Pada cell H4 (di bawah kolom Occurrence), masukkan formula berikut.

    =COUNTIF($G$4:G4,G4)

    Rumus ini digunakan untuk menghitung kemunculan nilai dimulai dari data awal ($G$4) sampai baris ditemukannya nilai tersebut (G4). Kebetulan cellnya masih sama, tapi pada saat kita copy berikutnya maka alamat relatif cellnya akan berubah.
  8. Copy rumus di atas ke cell H5 sampai dengan H13. Hasilnya terlihat sebagai berikut. Perhatikan untuk angka 1251 kita mendapatkan angka 1 untuk kemunculan pertama, dan angka 2 untuk kemunculan kedua.

  9. Sekarang kita akan coba mencari nomor baris kemunculan datanya di table asal dengan menggunakan fungsi MATCH. Pada kolom I4 masukkan rumus match berikut.

    =MATCH(G4,$C$4:$C$16,0)

    Setelah itu copy rumus tersebut ke I5 s/d I13. Terlihat hasilnya seperti pada gambar berikut, terlihat pada kemunculan ke 2 hasil indeks yang didapatkan tetap sama. Ini akan diubah pada perubahan rumus selanjutnya.

  10. Rubah cell I4 dengan rumus berikut.

    =IF(H4>1,MATCH(G4,INDIRECT("C"&(I3+1+3)&":C16"),0)+I3,MATCH(G4,$C$4:$C$16,0))

    Copy kembali rumus tersebut ke cell I5 s/d I13. Hasilnya terlihat sebagai berikut.



    Penjelasan: Karena untuk kemunculan kedua dan seterusnya diperlukan pengecekan tambahan, maka kita gunakan IF pada formula ini. Untuk kemunculan pertama rumusnya sama dengan sebelum perubahan. Tapi untuk kemunculan kedua dan seterusnya, kita akan mengambil range lookup yang dimulai dari titik penemuan baris sebelumnya (lihat illustrasi di bawah).



    dan juga karena ada jarak antara range dan header, perhatikan bahwa di rumus INDIRECT ada tambahan offset baris sebesar 3.

  11. Akhirnya kita akan menggunakan fungsi Indirect untuk mengambil Pada cell F4 masukkan rumus berikut.

    =INDIRECT("B"&(I4+3))

    Copy rumus tersebut ke cell F5 s/d F13. Hasilnya tampak sebagai berikut.

  12. Selesai.
Demikian proses membuat top 10 nilai dengan menggunakan formula tanpa VBA (Visual Basic for Application) programming. 

Anda bisa download file Excel yang sudah lengkap dengan solusi tersebut di halaman group kami di

4 comments:

  1. This comment has been removed by the author.

    ReplyDelete
  2. oia... satu lagi, nama kok ada yang ganda... munculnya??
    sekali lagi terimakasih

    ReplyDelete
  3. masalah ini muncul ketika banyak nilai yang sama (min 3 nilai)...

    ReplyDelete
    Replies
    1. Pak Ambo Ala, terima kasih atas validasinya. Saya coba perbaiki ya. Salam.

      Delete

Launching E-BOOK EIUG: Form Entry Sederhana dengan Excel VBA

Pengunjung BelajarExcel.info Yang Saya Hormati, Pada tanggal 14 Juni 2014,Excel Indonesia User Group (EIUG) yang merupakan salah satu k...