Konsep "Dynamic Arrays" berarti sebuah rumus tunggal dapat menghasilkan (atau "menumpahkan" / "spill") hasil ke dalam beberapa sel sekaligus. Anda tidak perlu lagi menyalin rumus ke bawah atau ke samping. Fungsi-fungsi baru ini memanfaatkan sepenuhnya kemampuan tersebut, memungkinkan Anda untuk menumpuk, menggabungkan, dan membentuk kembali data dengan sangat mudah.
1. VSTACK: Menumpuk Data Secara Vertikal
Fungsi VSTACK (Vertical Stack) memungkinkan Anda untuk menumpuk beberapa rentang data atau array satu di bawah yang lain. Ini adalah pengganti modern untuk proses salin-tempel manual yang melelahkan saat menggabungkan data dari beberapa tabel.
Sintaks: =VSTACK(array1, [array2], ...)
Contoh Penggunaan:
Bayangkan Anda memiliki data penjualan Kuartal 1 di rentang A2:D10 dan data Kuartal 2 di rentang F2:I15. Untuk menggabungkannya menjadi satu tabel panjang:
=VSTACK(A2:D10, F2:I15)
Hanya dengan satu rumus ini, seluruh data akan digabungkan secara vertikal. Jika data sumber berubah, hasilnya akan otomatis diperbarui.
2. HSTACK: Menggabungkan Data Secara Horizontal
Sesuai namanya, HSTACK (Horizontal Stack) melakukan hal yang sama seperti VSTACK tetapi menggabungkan data secara berdampingan (horizontal).
Sintaks: =HSTACK(array1, [array2], ...)
Contoh Penggunaan:
Misalkan Anda memiliki data demografi pelanggan di A2:C50 dan data riwayat pembelian mereka di F2:H50. Untuk menampilkan keduanya secara berdampingan untuk setiap pelanggan:
=HSTACK(A2:C50, F2:H50)
Ini sangat berguna untuk membuat tabel ringkasan yang menarik data dari berbagai lokasi.
3. TOROW dan TOCOL: Mengubah Rentang Menjadi Satu Baris atau Kolom
Terkadang Anda perlu mengubah data dari format tabel dua dimensi menjadi daftar satu dimensi. Fungsi TOROW dan TOCOL melakukan hal ini dengan sempurna.
- TOROW: Mengambil sebuah rentang dan mengubahnya menjadi satu baris tunggal.
- TOCOL: Mengambil sebuah rentang dan mengubahnya menjadi satu kolom tunggal.
Sintaks: =TOROW(array, [ignore], [scan_by_column]) atau =TOCOL(array, [ignore], [scan_by_column])
Argumen `[ignore]` bersifat opsional dan sangat berguna, memungkinkan Anda untuk mengabaikan sel kosong (1) atau sel error (2).
Contoh Penggunaan:
Jika Anda memiliki daftar nama dalam rentang A2:C5 dan ingin membuatnya menjadi satu daftar panjang ke bawah, sambil mengabaikan sel kosong:
=TOCOL(A2:C5, 1)
4. WRAPROWS dan WRAPCOLS: Membentuk Ulang Array
Fungsi-fungsi ini adalah kebalikan dari TOROW/TOCOL. Mereka mengambil array satu dimensi (seperti daftar panjang) dan "membungkusnya" kembali menjadi array dua dimensi (tabel) dengan jumlah kolom atau baris yang Anda tentukan.
- WRAPROWS(vector, wrap_count, [pad_with]): Membungkus sebuah vektor (baris atau kolom) menjadi beberapa baris, di mana setiap baris memiliki `wrap_count` item.
- WRAPCOLS(vector, wrap_count, [pad_with]): Sama seperti di atas, tetapi membungkusnya menjadi beberapa kolom.
Contoh Penggunaan:
Anda memiliki daftar 12 nama dalam satu kolom (A2:A13). Anda ingin menampilkannya dalam format kalender 3x4 (3 kolom, 4 baris).
=WRAPROWS(A2:A13, 3)
Rumus ini akan mengambil daftar tersebut dan mengaturnya kembali menjadi tabel dengan 3 kolom.
Fungsi Array Lainnya yang Berguna
- TAKE(array, rows, [columns]): Mengambil sejumlah baris atau kolom tertentu dari awal atau akhir sebuah array.
- DROP(array, rows, [columns]): Menghapus sejumlah baris atau kolom tertentu dari awal atau akhir sebuah array.
- CHOOSEROWS(array, row_num1, ...): Mengambil baris tertentu berdasarkan nomor indeksnya.
- CHOOSECOLS(array, col_num1, ...): Mengambil kolom tertentu berdasarkan nomor indeksnya.
Kumpulan fungsi array dinamis ini secara fundamental mengubah cara kita bekerja di Excel dan Google Sheets. Mereka mendorong pendekatan berbasis rumus yang lebih bersih, lebih efisien, dan jauh lebih kuat untuk manipulasi data, mengurangi ketergantungan pada langkah-langkah manual yang rumit.