Daftar Isi
Tutorial ini menunjukkan cara menggunakan fungsi SORT untuk mengurutkan array data secara dinamis. Anda akan mempelajari rumus untuk mengurutkan menurut abjad di Excel, mengatur angka dalam urutan naik atau turun, mengurutkan berdasarkan beberapa kolom, dan banyak lagi.
Fungsionalitas Sort telah ada sejak lama. Tetapi dengan diperkenalkannya array dinamis di Excel 365, muncul cara yang luar biasa sederhana untuk mengurutkan dengan rumus. Keindahan metode ini adalah bahwa hasilnya diperbarui secara otomatis ketika data sumber berubah.
Fungsi SORT Excel
Fungsi SORT di Excel mengurutkan konten larik atau rentang menurut kolom atau baris, dalam urutan naik atau turun.
SORT termasuk dalam kelompok fungsi larik Dinamis. Hasilnya adalah larik dinamis yang secara otomatis tumpah ke sel tetangga secara vertikal atau horizontal, tergantung pada bentuk larik sumber.
Sintaks dari fungsi SORT adalah sebagai berikut:
SORT(array, [sort_index], [sort_order], [by_col])Di mana:
Larik (wajib) - adalah larik nilai atau rentang sel untuk diurutkan. Ini bisa berupa nilai apa pun termasuk teks, angka, tanggal, waktu, dll.
Sort_index (opsional) - bilangan bulat yang menunjukkan kolom atau baris mana yang akan diurutkan. Jika dihilangkan, indeks default 1 digunakan.
Sort_order (opsional) - mendefinisikan urutan sortir:
- 1 atau dihilangkan (default) - urutan menaik, yaitu dari yang terkecil ke terbesar
- -1 - urutan menurun, yaitu dari yang terbesar hingga terkecil
By_col (opsional) - nilai logika yang menunjukkan arah penyortiran:
- FALSE atau dihilangkan (default) - mengurutkan berdasarkan baris. Anda akan menggunakan opsi ini hampir sepanjang waktu.
- TRUE - urutkan berdasarkan kolom. Gunakan opsi ini jika data Anda disusun secara horizontal dalam kolom-kolom seperti dalam contoh ini.
Fungsi SORT Excel - tip dan catatan
SORT adalah fungsi larik dinamis baru dan karena itu memiliki beberapa kekhususan yang harus Anda ketahui:
- Saat ini fungsi SORT hanya tersedia di Microsoft 365 dan Excel 2021. Excel 2019, Excel 2016 tidak mendukung rumus array dinamis, sehingga fungsi SORT tidak tersedia di versi ini.
- Jika larik yang dikembalikan oleh rumus SORT adalah hasil akhir (yaitu tidak diteruskan ke fungsi lain), Excel secara dinamis membuat rentang ukuran yang sesuai dan mengisinya dengan nilai yang diurutkan. Jadi, pastikan Anda selalu memiliki cukup sel kosong di bawah atau / dan di sebelah kanan sel tempat Anda memasukkan rumus, jika tidak, kesalahan #SPILL terjadi.
- Hasilnya diperbarui secara dinamis seiring perubahan data sumber. array yang diberikan ke formula tidak diperluas secara otomatis untuk menyertakan entri baru yang ditambahkan di luar referensi array Untuk menyertakan item-item seperti itu, Anda harus memperbarui array referensi dalam rumus Anda, atau ubah rentang sumber menjadi tabel seperti yang ditunjukkan dalam contoh ini, atau buat rentang bernama dinamis.
Rumus dasar SORT Excel
Contoh ini menunjukkan rumus dasar untuk mengurutkan data di Excel dalam urutan naik dan turun.
Misalkan data Anda disusun menurut abjad seperti yang ditunjukkan pada gambar di bawah ini. Anda ingin mengurutkan angka di kolom B tanpa merusak atau mencampur data.
Formula untuk mengurutkan dalam urutan menaik
Untuk mengurutkan nilai di kolom B dari yang terkecil ke terbesar, berikut rumus yang digunakan:
=SORT(A2:B8, 2, 1)
Di mana:
- A2:B8 adalah larik sumber
- 2 adalah nomor kolom yang akan diurutkan
- 1 adalah urutan sortir menaik
Karena data kita disusun dalam baris, argumen terakhir dapat dihilangkan untuk default ke FALSE - urutkan berdasarkan baris.
Cukup masukkan rumus di sel kosong mana pun (D2 dalam kasus kami), tekan Enter , dan hasilnya akan tumpah secara otomatis ke D2: E8.
Formula untuk mengurutkan dalam urutan menurun
Untuk mengurutkan data secara descending, yaitu dari yang terbesar ke terkecil, tetapkan sort_order argumen ke -1 seperti ini:
=SORT(A2:B8, 2, -1)
Masukkan rumus di sel kiri atas dari rentang tujuan dan Anda akan mendapatkan hasil ini:
Dengan cara yang sama, Anda bisa mengurutkan nilai teks dalam urutan abjad dari A ke Z atau dari Z ke A.
Cara mengurutkan data di Excel menggunakan rumus
Contoh di bawah ini menunjukkan beberapa penggunaan umum fungsi SORT di Excel dan beberapa yang tidak sepele.
Excel SORT berdasarkan kolom
Ketika Anda mengurutkan data di Excel, sebagian besar Anda mengubah urutan baris. Tetapi ketika data Anda diatur secara horizontal dengan baris yang berisi label dan kolom yang berisi catatan, Anda mungkin perlu mengurutkan dari kiri ke kanan, bukan dari atas ke bawah.
Untuk mengurutkan berdasarkan kolom di Excel, atur by_col argumen ke TRUE. Dalam hal ini, sort_index akan mewakili sebuah baris, bukan kolom.
Misalnya, untuk mengurutkan data di bawah ini berdasarkan Qty. dari tertinggi ke terendah, gunakan rumus ini:
=SORT(B1:H2, 2, 1, TRUE)
Di mana:
- B1:H2 adalah sumber data untuk diurutkan
- 2 adalah indeks pengurutan, karena kita mengurutkan angka-angka di baris kedua
- -1 menunjukkan urutan sortir menurun
- BENAR berarti mengurutkan kolom, bukan baris
Urutkan berdasarkan beberapa kolom dalam urutan yang berbeda (pengurutan multi-level)
Ketika bekerja dengan model data yang kompleks, Anda mungkin sering membutuhkan pengurutan multi-level. Apakah itu bisa dilakukan dengan rumus? Yap, mudah! Yang Anda lakukan adalah menyediakan konstanta array untuk sort_index dan sort_order argumen.
Contohnya, untuk mengurutkan data di bawah ini terlebih dulu berdasarkan Wilayah (kolom A) dari A ke Z, dan kemudian oleh Qty . (kolom C) dari yang terkecil hingga yang terbesar, atur argumen berikut:
- Larik adalah data dalam A2:C13.
- Sort_index adalah konstanta larik {1,3}, karena kita pertama-tama mengurutkan berdasarkan Wilayah (kolom pertama), dan kemudian oleh Qty . (kolom ke-3).
- Sort_order adalah konstanta larik {1,-1}, karena kolom ke-1 akan diurutkan dalam urutan menaik dan kolom ke-3 dalam urutan menurun.
- By_col dihilangkan karena kita mengurutkan baris, yang merupakan default.
Menyatukan argumen-argumen tersebut, kita mendapatkan rumus ini:
=SORT(A2:C13, {1,3}, {1,-1})
Dan ini bekerja dengan sempurna! Nilai teks dalam kolom pertama diurutkan menurut abjad dan angka-angka dalam kolom ketiga dari yang terbesar sampai yang terkecil:
Urutkan dan filter di Excel
Jika Anda ingin memfilter data dengan beberapa kriteria dan mengatur output secara berurutan, gunakan fungsi SORT dan FILTER bersama-sama:
SORT(FILTER(array, criteria_range = kriteria ), [sort_index], [sort_order], [by_col])Fungsi FILTER mendapatkan larik nilai berdasarkan kriteria yang Anda tentukan dan meneruskan larik itu ke argumen pertama SORT.
Hal terbaik tentang rumus ini adalah ia juga mengeluarkan hasilnya sebagai rentang tumpahan dinamis, tanpa Anda harus menekan Ctrl + Shift + Enter atau menebak-nebak berapa banyak sel untuk menyalinnya. Seperti biasa, Anda mengetik rumus di sel paling atas dan menekan tombol Enter.
Sebagai contoh, kita akan mengekstrak item dengan kuantitas yang sama dengan atau lebih besar dari 30 (>=30) dari data sumber di A2:B9 dan mengatur hasilnya dalam urutan menaik.
Untuk ini, pertama-tama kita menyiapkan kondisinya, katakanlah, di sel E2 seperti yang ditunjukkan pada gambar di bawah ini. Dan kemudian, buat rumus SORT Excel kita dengan cara ini:
=SORT(FILTER(A2:B9, B2:B9>=E2), 2)
Selain dari array yang dihasilkan oleh fungsi FILTER, kita hanya menspesifikasikan sort_index Dua argumen lainnya dihilangkan karena defaultnya bekerja persis seperti yang kita butuhkan (urutkan menaik, berdasarkan baris).
Dapatkan N nilai terbesar atau terkecil dan urutkan hasilnya
Ketika menganalisis informasi dalam jumlah besar, sering kali ada kebutuhan untuk mengekstrak sejumlah nilai teratas. Mungkin tidak hanya mengekstrak, tetapi juga mengaturnya dalam urutan yang diinginkan. Dan idealnya, pilih kolom mana yang akan disertakan dalam hasil. Kedengarannya rumit? Tidak dengan fungsi larik dinamis yang baru!
Berikut ini adalah rumus umum:
INDEX(SORT(...), SEQUENCE( n ), { column1_to_return , column2_to_return , ...})Di mana n adalah jumlah nilai yang ingin Anda kembalikan.
Dari kumpulan data di bawah ini, asumsikan Anda ingin mendapatkan daftar 3 teratas berdasarkan angka-angka di kolom C.
Untuk menyelesaikannya, pertama-tama Anda mengurutkan larik A2:C13 berdasarkan kolom ke-3 dalam urutan menurun:
URUTKAN(A2:C13, 3, -1)
Dan kemudian, sarangkan rumus di atas di bagian pertama ( array ) argumen dari fungsi INDEX untuk mengurutkan larik dari yang tertinggi ke terkecil.
Untuk yang kedua ( row_num ) argumen, yang menunjukkan berapa banyak baris yang akan dikembalikan, menghasilkan angka berurutan yang diperlukan dengan menggunakan fungsi SEQUENCE. Karena kita membutuhkan 3 nilai teratas, kita menggunakan SEQUENCE(3), yang sama dengan memasok konstanta larik vertikal {1;2;3} secara langsung dalam rumus.
Untuk yang ketiga ( col_num ) argumen, yang mendefinisikan berapa banyak kolom yang akan dikembalikan, berikan nomor kolom dalam bentuk konstanta array horizontal. Kita ingin mengembalikan kolom B dan C, jadi kita menggunakan array {2,3}.
Akhirnya, kita mendapatkan rumus berikut ini:
=INDEX(SORT(A2:C13, 3, -1), SEQUENCE(3), {2,3})
Dan ini menghasilkan hasil yang persis seperti yang kita inginkan:
Untuk kembali 3 dasar cukup mengurutkan data asli dari yang terkecil ke yang terbesar. Untuk ini, ubah sort_order argumen dari -1 hingga 1:
=INDEX(SORT(A2:C13, 3, 1), SEQUENCE(3), {2,3})
Mengembalikan nilai yang diurutkan dalam posisi tertentu
Melihat dari sudut pandang lain, bagaimana jika Anda hanya ingin mengembalikan posisi pengurutan tertentu? Katakanlah, hanya record ke-1, hanya record ke-2, atau hanya record ke-3 dari daftar yang diurutkan? Untuk menyelesaikannya, gunakan versi sederhana dari rumus INDEX SORT yang dibahas di atas:
INDEX(SORT(...), n , { column1_to_return , column2_to_return , ...})Di mana n adalah posisi yang diminati.
Misalnya, untuk mendapatkan posisi tertentu dari atas (yaitu dari data yang diurutkan menurun), gunakan rumus ini:
=INDEX(SORT(A2:C13, 3, -1), F1, {2,3})
Untuk mendapatkan posisi tertentu dari bawah (yaitu dari data yang diurutkan menaik), gunakan yang ini:
=INDEX(SORT(A2:C13, 3, 1), I1, {2,3})
Di mana A2:C13 adalah data sumber, F1 adalah posisi dari atas, I1 adalah posisi dari bawah, dan {2,3} adalah kolom yang akan dikembalikan.
Gunakan tabel Excel untuk mendapatkan array sortir untuk memperluas secara otomatis
Seperti yang sudah Anda ketahui, larik yang diurutkan diperbarui secara otomatis saat Anda membuat perubahan apa pun pada data asli. Ini adalah perilaku standar semua fungsi larik dinamis, termasuk SORT. Namun, saat Anda menambahkan entri baru di luar larik yang direferensikan, entri tersebut tidak secara otomatis disertakan dalam rumus. Jika Anda ingin rumus Anda merespons perubahan tersebut, ubah rentang sumber menjadi sepenuhnya-tabel Excel fungsional dan gunakan referensi terstruktur dalam rumus Anda.
Untuk melihat bagaimana cara kerjanya dalam praktik, harap perhatikan contoh berikut ini.
Misalkan Anda menggunakan rumus SORT Excel di bawah ini untuk mengatur nilai dalam rentang A2: B8 dalam urutan abjad:
=SORT(A2:B8, 1, 1)
Kemudian, anda memasukkan entri baru di baris 9... dan kecewa melihat bahwa entri yang baru ditambahkan tidak termasuk dalam kisaran tumpahan:
Sekarang, ubah rentang sumber menjadi tabel. Untuk ini, cukup pilih rentang Anda termasuk tajuk kolom (A1: B8) dan tekan Ctrl + T. Saat membuat rumus Anda, pilih rentang sumber menggunakan mouse, dan nama tabel akan dimasukkan ke dalam rumus secara otomatis (ini disebut referensi terstruktur):
=SORT(Tabel1, 1, 1)
Ketika Anda mengetik entri baru tepat di bawah baris terakhir, tabel akan meluas secara otomatis, dan data baru akan dimasukkan dalam rentang tumpahan rumus SORT:
Fungsi SORT Excel tidak berfungsi
Jika rumus SORTmu menghasilkan error, kemungkinan besar karena alasan-alasan berikut.
#NAMA kesalahan: versi Excel yang lebih lama
SORT adalah fungsi baru dan hanya berfungsi di Excel 365 dan Excel 2021. Di versi yang lebih lama di mana fungsi ini tidak didukung, terjadi kesalahan #NAME?
Kesalahan #SPILL: sesuatu menghalangi rentang tumpahan
Jika satu atau lebih sel dalam rentang tumpahan tidak sepenuhnya kosong atau digabungkan, kesalahan #SPILL! ditampilkan. Untuk memperbaikinya, cukup hapus penyumbatannya. Untuk informasi lebih lanjut, silakan lihat Excel #SPILL! kesalahan - apa artinya dan bagaimana cara memperbaikinya.
Kesalahan #VALUE: argumen tidak valid
Kapan pun Anda mengalami kesalahan #VALUE! sort_index dan sort_order argumen. Sort_index tidak boleh melebihi jumlah kolom adalah array dan sort_order harus 1 (naik) atau -1 (turun).
Kesalahan #REF: buku kerja sumber ditutup
Karena array dinamis memiliki dukungan terbatas untuk referensi antar buku kerja, fungsi SORT mengharuskan kedua file terbuka. Jika buku kerja sumber ditutup, rumus akan melempar kesalahan #REF! Untuk memperbaikinya, cukup buka file yang direferensikan.
Itulah cara mengurutkan data di Excel menggunakan rumus. Saya berterima kasih telah membaca dan berharap dapat melihat Anda di blog kami minggu depan!
Buku kerja latihan untuk diunduh
Menyortir di Excel dengan rumus (file .xlsx)