ikuti Saluran WhatsApp Rumahdisolo.com. Klik WhatsApp

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)

  1. Blok seluruh tabel (A1:F6).
  2. Menu → DataSort range → centang Data has header row.
  3. Pilih kolom yang akan diurutkan, misal Nilai, lalu pilih Z → A (untuk nilai terbesar ke kecil).
  4. Klik Sort.

Excel (Manual)

  1. Blok tabel.
  2. Tab Data → klik Sort.
  3. Pilih Sort by = Nilai, Sort On = Values, Order = Largest to Smallest.
  4. Klik Add Level kalau mau sortir multi-level (mis. Nilai lalu Nama).
  5. 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

  1. Pilih tabel data → Insert → Table (Ctrl+T).
  2. Table akan otomatis berkembang saat baris baru ditambahkan.
  3. 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):

  1. Buat kolom Rank:
  2. text
    =RANK.EQ(D2, $D$2:$D$6, 0)
  3. Ambil data berdasarkan Rank:
  4. 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:

  1. Simpan raw data di sheet terpisah bernama `raw_data`. Jangan edit di situ kecuali koreksi.
  2. Buat sheet view terpisah misal `sorted_view` yang berisi rumus `SORT`/`QUERY`. Jadi raw_data tetap utuh.
  3. Gunakan Table (Excel) atau `UNIQUE+SORT` helper (Sheets) agar sumber dropdown/dynamic range gampang dikelola.
  4. Nama range dengan jelas (Categories, Transactions) agar rumus mudah dibaca.
  5. Validasi data sebelum import (pakai Data Validation) — mencegah data error dari awal.
  6. Backup file sebelum eksperimen rumus atau macro.
  7. 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

  1. Buat sheet `raw` dan paste 200 baris data siswa acak (nama, kelas, nilai, kota).
  2. Buat sheet `top10`:
    • Gunakan `SORT` untuk menampilkan 10 nilai tertinggi:
    text
    =ARRAY_CONSTRAIN(SORT(raw!A2:D, 3, FALSE), 10, 4)
    • Jika Excel, pakai `SORT` lalu `INDEX` untuk ambil 10 baris pertama.
  3. Buat sheet `by_city`:
    • Buat dropdown city (unique values).
    • Pakai `FILTER`/`QUERY` untuk menampilkan data sesuai city dan urut nilai desc.
  4. Buat sheet `summary`:
    • Pivot table untuk rata-rata nilai per kelas.

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!

Siswi SMK Muhammadiyah 1 sukoharjo yang cerdas, Bersemangat, dan Berintegritas. Profil Lengkap saya