Cara Sortir Data Otomatis di Spreadsheet
Ngomongin spreadsheet itu seru, apalagi kalau datanya rapi. Tapi kalau datanya acak-acakan? Duh, males banget.
Salah satu skill paling penting yang harus kamu kuasai adalah cara sortir data otomatis — baik di Google Sheets maupun Microsoft Excel.
Di artikel ini aku bakal jelasin semuanya pelan-pelan, lengkap, dan penuh contoh nyata supaya anak sekolah atau pemula juga langsung ngerti dan bisa praktik.
Kenapa Sortir Data itu Penting?
Sebelum nyemplung ke teknik, tahu dulu nih alasannya:
- Biar data mudah dibaca (ranking, daftar hadir, laporan penjualan jadi jelas).
- Memudahkan analisis (cari top performer, produk terlaris, dsb).
- Mengurangi kesalahan saat membuat grafik atau pivot.
- Membuat dashboard atau laporan otomatis yang selalu up-to-date.
Kalau udah ngerti manfaatnya, kita langsung praktik. Artikel ini bakal bahas: metode manual, rumus otomatis, sort multi-kriteria, sort dinamis, trik buat Excel lawas tanpa fungsi modern, dan automasi pakai script/macro.
Contoh Data Awal (Kita Pakai Ini untuk Semua Contoh)
Gunakan tabel sederhana ini sebagai contoh. Salin ke sheet kamu supaya bisa coba satu-satu.
No | Nama | Kelas | Nilai | Kota | Tanggal Ujian |
---|---|---|---|---|---|
1 | Andi | 10A | 85 | Jakarta | 2025-09-01 |
2 | Siti | 10B | 92 | Bandung | 2025-09-03 |
3 | Budi | 10A | 75 | Surabaya | 2025-09-02 |
4 | Rina | 10C | 60 | Medan | 2025-09-01 |
5 | Agung | 10B | 88 | Yogya | 2025-09-04 |
Kita bakal pakai tabel ini untuk tunjukin semua langkah.
Bagian 1 — Sortir Manual (Cara Cepat Buat Pemula)
Cara ini paling simpel, cocok kalau kamu cuma perlu urut sekali.
Google Sheets (Manual)
- Blok seluruh tabel (A1:F6).
- Menu → Data → Sort range → centang Data has header row.
- Pilih kolom yang akan diurutkan, misal Nilai, lalu pilih Z → A (untuk nilai terbesar ke kecil).
- Klik Sort.
Excel (Manual)
- Blok tabel.
- Tab Data → klik Sort.
- Pilih Sort by = Nilai, Sort On = Values, Order = Largest to Smallest.
- Klik Add Level kalau mau sortir multi-level (mis. Nilai lalu Nama).
- OK.
Hasil akan menampilkan siswa dengan nilai tertinggi di atas. Tapi catat: ini statik — jika ada data baru kamu mesti sortir ulang.
Bagian 2 — Sortir DINAMIS pakai RUMUS (Google Sheets)
Rumus dinamis hasilnya “live” — ketika data sumber berubah, hasil sortir juga auto-update. Di Google Sheets kita pakai fungsi `SORT` atau `QUERY`.
2.1 SORT dasar (Google Sheets)
Sintaks:
=SORT(range, sort_column, is_ascending, [sort_column2, is_ascending2, ...])
Contoh: urutkan tabel berdasarkan kolom Nilai (kolom D) dari besar ke kecil:
text =SORT(A2:F6, 4, FALSE)
Penjelasan:
- `A2:F6` = range data (tanpa header).
- `4` = kolom ke-4 di range itu (Nilai).
- `FALSE` = descending.
Jika kamu taruh rumus ini di sheet baru, hasilnya akan “spill” (menyebar) ke bawah/kanan, menampilkan seluruh baris yang sudah terurut.
2.2 Multi-kriteria SORT (Google Sheets)
Contoh: urutkan berdasarkan Kelas (naik), lalu Nilai (turun):
text =SORT(A2:F6, 3, TRUE, 4, FALSE)
Ini artinya: pertama urutkan kolom 3 (Kelas) ascending, lalu dalam tiap Kelas urutkan kolom 4 (Nilai) descending.
2.3 QUERY (Google Sheets) — power-nya mirip SQL
`QUERY` sering dipakai untuk sortir sekaligus filter. Sintaks:
=QUERY(range, "select * order by Col4 desc", 1)
Contoh: pilih semua siswa dan urutkan berdasarkan Nilai desc:
text =QUERY(A1:F6, "select A, B, C, D, E, F order by D desc", 1)
Angka `1` di akhir bilang ada 1 baris header.
`QUERY` lebih fleksibel: bisa `where D > 70 order by D desc` untuk hanya menampilkan nilai di atas 70.
Bagian 3 — Sortir DINAMIS di Excel Modern (Excel 365 / Microsoft 365)
Excel versi modern punya fungsi `SORT` dan `SORTBY` yang mirip Google Sheets.
3.1 SORT (Excel 365)
Sintaks:
=SORT(array, [sort_index], [sort_order], [by_col])
Contoh:
text =SORT(A2:F6, 4, -1)
- `4` = kolom indeks dalam array (Nilai).
- `-1` = descending (pakai 1 untuk ascending).
3.2 SORTBY (Excel) — lebih kuat
Sintaks:
=SORTBY(array, by_array1, sort_order1, [by_array2, sort_order2], ...)
Contoh:
text =SORTBY(A2:F6, D2:D6, -1, C2:C6, 1)
Artinya: urutkan `A2:F6` berdasarkan `D2:D6` (Nilai) descending, lalu `C2:C6` (Kelas) ascending.
Kelebihan `SORTBY`: bisa referensi array by_array yang terpisah.
Bagian 4 — Sort di Excel Lama (tanpa fungsi SORT/SORTBY)
Kalau kamu pakai Excel versi lama (2016, 2013, dll) yang belum punya fungsi dynamic array, masih bisa bikin tampilan terurut secara semi-otomatis pakai helper column, `RANK`, `INDEX-MATCH`, `SMALL/LARGE`.
4.1 Metode RANK + INDEX/MATCH (step-by-step)
Kita buat `Rank` lalu ambil baris berdasarkan Rank.
Step:
1. Di kolom tambahan (mis. G2), isi:
text =RANK.EQ(D2, $D$2:$D$6, 0) + (COUNTIF($D$2:D2, D2)-1)/1000
Penjelasan:
- `RANK.EQ(D2, $D$2:$D$6, 0)` memberi rank berdasarkan nilai (0 = descending).
- Tambahan `+ (COUNTIF(...)-1)/1000` bikin tie-breaker supaya rank unik kalau ada nilai sama.
2. Buat sheet baru `Sorted`. Di A2 masukkan:
text =INDEX($A$2:$A$6, MATCH(ROW()-1, $G$2:$G$6, 0))
Kemudian tarik ke kanan untuk kolom lain (B,C..). Atau gunakan `INDEX` dengan `MATCH` yang mengembalikan posisi Rank = 1,2,3,...
Metode ini agak ribet tapi ampuh jika Excel kamu belum support dynamic arrays.
4.2 Metode SMALL/LARGE + MATCH/INDEX
- `LARGE($D$2:$D$6,1)` = nilai terbesar.
- `MATCH(LARGE(...), $D$2:$D$6, 0)` = posisi baris.
- Gunakan `INDEX` untuk ambil nama berdasarkan posisi itu.
Contoh untuk baris pertama sorted:
text =INDEX(A$2:A$6, MATCH(LARGE(D$2:D$6, ROW()-1), D$2:D$6, 0))
Row()-1 berguna untuk masing rank (1st, 2nd, ...).
Bagian 5 — Sortir Berdasarkan Tanggal, Teks, Angka — Tips & Trik
5.1 Sortir Tanggal
Pastikan tanggal disimpan sebagai Date bukan teks.- Google Sheets/Excel: kalau tidak dikenali, pakai `DATEVALUE` atau `TO_DATE`. Contoh ubah `30/09/2025` dari teks:
text =DATEVALUE("30/09/2025")
Setelah itu sort seperti biasa.
5.2 Sortir Teks (case-insensitive)
Kalau ingin sort nama tanpa memperhatikan huruf kapital:
- Tambah helper column:
text =LOWER(B2)
Lalu sort berdasarkan helper column.
5.3 Sort numerik yang tersimpan sebagai teks
Gunakan `VALUE` atau `NUMBERVALUE`:
text =VALUE("1,200") // jika format lokal pakai titik/koma, gunakan NUMBERVALUE =NUMBERVALUE("1.234,56", ",", ".")
Bagian 6 — Sortir Multi-Level dan Custom Order
6.1 Sort Multi-Level (Manual / Dialog)
Excel: Data → Sort → Add Level (urutan prioritas).
Google Sheets: Sort range → Add another sort column.
6.2 Sort berdasarkan warna (Excel)
Jika kamu menggunakan conditional formatting yang memberi warna, Excel bisa sort by color:
- Klik filter di header kolom → Sort by Color → pilih warna.
Google Sheets juga mendukung sort by color lewat filter icon → “Sort by color”.
6.3 Custom Order (bulan: Jan, Feb, Mar)
Jika urutan bukan alfabet, buat helper column dengan urutan kustom:
- Buat tabel urutan: `Jan=1, Feb=2`.
- Di helper: `=MATCH(B2, {"Jan","Feb","Mar"}, 0)` atau `=VLOOKUP(B2, orders!A:B, 2, FALSE)`.
- Sort berdasarkan helper.
Di Excel ada fitur Custom Lists (File → Options → Advanced → Edit Custom Lists) untuk urutan kustom.
Bagian 7 — Sort Dinamis untuk Data yang Terus Bertambah
Kalau data terus ditambahkan (mis. impor tiap hari), solusi terbaik:
7.1 Google Sheets: pakai `SORT` + open-ended range
text =SORT(A2:F, 4, FALSE)
`A2:F` tanpa baris akhir akan mengikuti baris baru jika sheet ditambahkan data.
7.2 Excel: pakai Table
- Pilih tabel data → Insert → Table (Ctrl+T).
- Table akan otomatis berkembang saat baris baru ditambahkan.
- Gunakan structured reference di `SORT` atau `SORTBY`:
text =SORT(Table1, 4, -1)
Atau refer ke `Table1[Nilai]` untuk by_array.
7.3 Named Dynamic Range (Excel tanpa Table)
Gunakan `OFFSET` + `COUNTA`:
text =OFFSET(Sheet1!$A$2,0,0,COUNTA(Sheet1!$A:$A)-1, COLUMNS(Sheet1!$A$1:$F$1))
Named range ini akan meluas saat baris bertambah.
Bagian 8 — Automasi Sortir via Script / Macro
Kalau sering perlu sortir otomatis saat data diubah, bisa pakai script.
8.1 Google Sheets — Apps Script (otomatis onEdit)
Contoh: auto-sort berdasarkan kolom Nilai (kolom 4) setiap kali ada edit:
javascript function onEdit(e) { var sheet = e.source.getActiveSheet(); if (sheet.getName() !== 'raw_data') return; // hanya di sheet raw_data var range = sheet.getRange(2,1,sheet.getLastRow()-1,6); // A2:F range.sort({column: 4, ascending: false}); // sort by col D (Nilai) desc }
Pasang script ini di editor Apps Script, tiap kali ada edit, sheet akan disortir.
8.2 Excel — VBA (otomatis setelah edit)
Contoh: autosort pada perubahan di sheet:
vb Private Sub Worksheet_Change(ByVal Target As Range) On Error GoTo ExitHandler Application.EnableEvents = False Me.Range("A1").CurrentRegion.Sort Key1:=Range("D1"), Order1:=xlDescending, Header:=xlYes ExitHandler: Application.EnableEvents = True End Sub
Taruh kode ini di modul sheet yang bersangkutan. Ini akan sortir table berdasarkan header di D1.
Catatan: script bisa mengganggu kolaborasi; pakai dengan hati-hati.
Bagian 9 — Studi Kasus Nyata (Langkah-demi-langkah + Tabel + Rumus)
Aku kasih beberapa studi kasus yang sering ditemui. Ikuti langkahnya di Google Sheets / Excel.
Studi Kasus A — Ranking Nilai Siswa (dynamic, update otomatis)
Data: gunakan tabel awal di bagian atas.
Goal: tampilkan daftar siswa terurut berdasarkan nilai desc, update otomatis bila ada nilai baru.
Google Sheets (cara singkat):
Di sheet baru, sel A1:
text =SORT(A2:F, 4, FALSE)
Tambahkan filter jika mau hanya nilai > 70:
text =QUERY(A1:F, "select A,B,C,D,E,F where D>70 order by D desc", 1)
Excel 365 (cara singkat):
text =SORT(A2:F6, 4, -1)
Excel lama (helper + INDEX/MATCH):
- Buat kolom Rank:
- Ambil data berdasarkan Rank:
text =RANK.EQ(D2, $D$2:$D$6, 0)
text =INDEX(A$2:A$6, MATCH(ROW()-1, $G$2:$G$6, 0))
Tarik ke sisi untuk kolom lain.
Studi Kasus B — Daftar Transaksi Toko (urutan tanggal terbaru, filter kategori)
Tabel transaksi:
Tanggal | Pembeli | Produk | Qty | Total |
---|---|---|---|---|
2025-09-01 | Andi | Kaos | 2 | 100000 |
2025-09-03 | Budi | Jaket | 1 | 250000 |
2025-09-02 | Citra | Kaos | 3 | 150000 |
2025-09-01 | Eka | Celana | 1 | 300000 |
2025-09-04 | Dodi | Jaket | 2 | 500000 |
Goal: daftar transaksi Jaket urut tanggal desc.
Google Sheets:
text =QUERY(A1:E, "select A,B,C,D,E where C = 'Jaket' order by A desc", 1)
Excel 365:
Gunakan `FILTER` + `SORT`:
text =SORT(FILTER(A2:E6, C2:C6="Jaket"), 1, -1)
`FILTER` ambil baris dimana Produk = Jaket, lalu `SORT` urut berdasarkan kolom 1 (Tanggal) descending.
Excel lama:- Filter manual → pilih Produk = Jaket → lalu Sort by Tanggal desc.
- Atau buat helper kolom dengan `IF(C2="Jaket",ROW(), "")`, lalu `SMALL`/`LARGE` untuk susun.
Studi Kasus C — Inventory & Custom Order (Sort by category order)
Inventori dengan kategori: `High`, `Medium`, `Low`. Kita ingin urut `High` → `Medium` → `Low` (bukan alfabet).
Data:
Item | Kategori | Stok |
---|---|---|
A | Medium | 50 |
B | High | 30 |
C | Low | 20 |
D | High | 10 |
Solusi: helper order + SORTBY (Excel 365) / SORT (Sheets)
Buat helper mapping:
Kategori | Order |
---|---|
High | 1 |
Medium | 2 |
Low | 3 |
Kemudian di Excel:
text =SORTBY(A2:C5, VLOOKUP(B2:B5, Helper!$A$2:$B$4, 2, FALSE), 1)
Di Sheets gunakan `ARRAYFORMULA` atau `INDEX(MATCH())`.
Bagian 10 — Troubleshooting & Kesalahan Umum
Berikut masalah yang sering terjadi dan cara memperbaikinya.
10.1 Hasil SORT tidak muncul / error #REF!
- Penyebab: range output (tempat kamu naruh rumus) menimpa data lain. Pastikan area kosong di kanan/bawah.
- Solusi: pindahkan rumus ke sheet baru.
10.2 Data baru tidak masuk ke hasil SORT
- Jika pakai manual sorting: harus di-sort ulang.
- Jika pakai rumus `SORT` dengan range yang punya baris batas (A2:F6), ubah menjadi `A2:F` atau gunakan Table/dynamic named range.
10.3 Tanggal tidak terurut dengan benar
- Pastikan tanggal tersimpan sebagai Date (bukan teks). Jika teks, pakai `DATEVALUE` atau parse manual.
10.4 Nilai dianggap teks, SUM/GROUP GAK JALAN
- Gunakan `VALUE()`, `NUMBERVALUE()`, atau Paste Special Multiply 1 di Excel.
10.5 INDIRECT gagal di Excel/Sheets
- INDIRECT membutuhkan nama range yang valid. Hindari spasi di nama range (pakai underscore) atau gunakan `INDIRECT("'"&sheet&"'!"&range)`.
Bagian 11 — Best Practices & Workflow Rekomendasi
Supaya proses sortir data otomatis lancar, ikuti workflow ini:
- Simpan raw data di sheet terpisah bernama `raw_data`. Jangan edit di situ kecuali koreksi.
- Buat sheet view terpisah misal `sorted_view` yang berisi rumus `SORT`/`QUERY`. Jadi raw_data tetap utuh.
- Gunakan Table (Excel) atau `UNIQUE+SORT` helper (Sheets) agar sumber dropdown/dynamic range gampang dikelola.
- Nama range dengan jelas (Categories, Transactions) agar rumus mudah dibaca.
- Validasi data sebelum import (pakai Data Validation) — mencegah data error dari awal.
- Backup file sebelum eksperimen rumus atau macro.
- Dokumentasi langkah penting di sheet `README` supaya orang lain paham alur.
Bagian 12 — Shortcut & Tips Cepat
- Google Sheets: `Ctrl + Shift + L` untuk toggle filter (gak selalu sama di semua browser).
- Excel: `Alt + D + S` untuk buka dialog Sort (versi lawas).
- Excel 365: gunakan Table (Ctrl+T) sebelum analisis.
- Google Sheets: `QUERY` itu powerhouse — belajar dasar SQL kecil bermanfaat.
Bagian 13 — Contoh Mini-Proyek (Latihan Terstruktur)
Buat proyek kecil supaya kamu benar-benar paham.
Proyek: Laporan Nilai Otomatis
- Buat sheet `raw` dan paste 200 baris data siswa acak (nama, kelas, nilai, kota).
- Buat sheet `top10`:
- Gunakan `SORT` untuk menampilkan 10 nilai tertinggi:
- Jika Excel, pakai `SORT` lalu `INDEX` untuk ambil 10 baris pertama.
- Buat sheet `by_city`:
- Buat dropdown city (unique values).
- Pakai `FILTER`/`QUERY` untuk menampilkan data sesuai city dan urut nilai desc.
- Buat sheet `summary`:
- Pivot table untuk rata-rata nilai per kelas.
text =ARRAY_CONSTRAIN(SORT(raw!A2:D, 3, FALSE), 10, 4)
Bagian 14 — Resources Cepat (Rumus yang Wajib Diingat)
- `SORT(range, column, is_ascending)` — Google Sheets
- `SORT(array, [sort_index], [sort_order])` — Excel 365
- `SORTBY(array, by_array, sort_order)` — Excel 365
- `QUERY(range, "SQL", header)` — Google Sheets
- `FILTER(range, condition)` — Google Sheets / Excel 365
- `RANK.EQ(value, range, [order])` — Excel
- `INDEX` + `MATCH` — untuk lookup berbasis posisi
Penutup (Langsung Bisa Dipraktekkan)
Sekarang kamu sudah tahu banyak cara buat sortir data otomatis — dari yang paling simpel sampai yang canggih dan otomatis. Intinya:
- Untuk kerja cepat dan sederhana: pakai menu sort manual.
- Buat tampilan yang selalu update: pakai `SORT`/`SORTBY`/`QUERY`/`FILTER`.
- Untuk Excel lawas: pakai helper column `RANK`, `INDEX`, `MATCH` atau `SMALL/LARGE`.
- Untuk automasi: pakai Apps Script (Google Sheets) atau VBA (Excel) supaya sheet auto-sort pas ada perubahan.
- Selalu simpan raw data di sheet terpisah dan buat view terurut menggunakan rumus supaya aman.
Coba praktikkan langkah-langkah di artikel ini pake data nyata kamu — sekolah, jualan online, inventori, atau daftar game.
Semakin sering dipraktek, makin cepat kamu jadi jago sortir data otomatis. Selamat ngoprek spreadsheet!
Gabung dalam percakapan