Analisis Data

ARRAYFORMULA Google Sheets: Panduan Melampaui Docs Help

ModelMonkey26 Juni 20267 menit baca

Dokumentasi resmi mendeskripsikan ARRAYFORMULA sebagai fungsi yang "memungkinkan tampilan nilai yang dikembalikan dari formula array ke dalam beberapa baris dan/atau kolom, serta penggunaan fungsi non-array dengan array." Tepat. Tapi halaman itu tidak memberi tahu Anda fungsi mana yang gagal secara diam-diam di dalamnya, cara menghubungkannya lintas tab tanpa merusak rantai kalkulasi, atau kapan sebaiknya Anda tidak menggunakannya sama sekali.

Artikel ini membahas semua celah tersebut.

Apa yang Sebenarnya Diajarkan Google Docs Editors Help tentang ARRAYFORMULA di Google Sheets

Halaman bantuan resmi mencakup tiga hal dengan baik:

  1. Pintasan keyboard (Ctrl+Shift+Enter di Windows, Cmd+Shift+Enter di Mac) secara otomatis membungkus formula apa pun dalam ARRAYFORMULA
  2. Fungsi ini bekerja dengan operator aritmetika, sehingga =ARRAYFORMULA(A2:A100 * B2:B100) mengalikan dua kolom secara elemen per elemen
  3. Fungsi yang sudah mendukung array secara native seperti IF, LEN, dan operator matematika dasar tidak memerlukan wrapper di Sheets versi modern

Poin ketiga penting dan dokumentasi cenderung meremehkannya. Google secara diam-diam telah membuat banyak fungsi menjadi native array. =IF(A2:A100>0, "positif", "negatif") sudah bisa spill tanpa ARRAYFORMULA di Sheets versi saat ini (mulai 2024). Wrapper kini paling berguna ketika Anda memaksa fungsi non-array untuk memproses sebuah range, atau ketika Anda membutuhkan kontrol eksplisit atas bentuk output.

Fungsi Mana yang Butuh ARRAYFORMULA dan Mana yang Tidak

Ini adalah tabel yang seharusnya ada di Google Docs Editors Help, tapi tidak ada:

FungsiButuh ARRAYFORMULA?Catatan
IF, IFSTidak (Sheets modern)Sudah ekspansi otomatis sejak 2024
SUMIF, SUMIFSYa, untuk output arrayTanpa wrapper hanya mengembalikan satu nilai
COUNTIF, COUNTIFSYa, untuk output arraySama seperti SUMIF
VLOOKUPTidak disarankanSering hanya mengembalikan kecocokan pertama
INDEX/MATCHYaKombinasi paling andal untuk lookup array
LEN, TRIM, UPPERTidak (Sheets modern)Native array
QUERYTidakTidak mendapat manfaat dari wrapper
IMPORTRANGETidakOverhead tanpa perubahan output
Operator aritmetika (*, /, +)YaInti penggunaan ARRAYFORMULA

Di Mana ARRAYFORMULA Benar-Benar Dibutuhkan dalam Pekerjaan FP&A

Kasus penggunaan nyata untuk ARRAYFORMULA dalam model multi-tab bukan sekadar perkalian kolom. Fungsi ini paling berharga untuk agregasi kondisional dan lookup lintas tab yang ingin Anda kelola dari satu sel saja, bukan disalin ke 200 baris.

Pola 1: SUMIF di Seluruh Range Kolom

SUMIF dan SUMIFS tidak mengembalikan array secara native ketika sum range berupa kolom penuh. ARRAYFORMULA memaksa evaluasi baris per baris.

=ARRAYFORMULA(
  SUMIFS(
    'P&L'!$D:$D,
    'P&L'!$B:$B, Asumsi!$B$3:$B$14,
    'P&L'!$C:$C, ">=" & Asumsi!$D$3
  )
)

Formula ini berada di satu sel pada tab Ringkasan Anda dan mengembalikan 12 nilai, satu per bulan dalam Asumsi!$B$3:$B$14. Tidak ada copy-paste, tidak ada formula drift antar baris, tidak ada risiko baris ke-9 mereferensikan periode yang berbeda dari baris ke-10.

Pola 2: Klasifikasi Teks Multi-Kondisi

Menandai 500 item GL berdasarkan apakah masuk kategori COGS, OpEx, atau below-the-line terasa melelahkan jika harus dikelola dengan rantai IF yang disalin ke bawah kolom. Satu sel ARRAYFORMULA menangani semuanya:

=ARRAYFORMULA(
  IF('Detail GL'!C2:C="Cost of Revenue", "COGS",
  IF('Detail GL'!C2:C="Sales & Marketing", "S&M",
  IF('Detail GL'!C2:C="General & Administrative", "G&A",
  "Lainnya")))
)

Ketika tim keuangan menambahkan kategori GL baru dan klasifikasi rusak untuk 30 baris, kerusakannya terjadi di tepat satu tempat. Itulah perbedaan antara perbaikan 2 menit dan audit 20 menit.

Pola 3: Jumlah Baris Dinamis dari Tab Lain

Jika tab pendapatan Anda memiliki jumlah SKU yang berubah setiap kuartal, menulis hardcode A2:A100 akan menghasilkan baris kosong yang tidak perlu atau data yang terpotong. Solusinya:

=ARRAYFORMULA(
  IF(
    'Pendapatan'!A2:A = "",
    "",
    'Pendapatan'!B2:B * Asumsi!$C$4
  )
)

Penjaga IF(...="", "") adalah pola yang tidak pernah ditunjukkan Google Docs Editors Help. Tanpanya, ARRAYFORMULA mengisi setiap baris kosong di kolom dengan hasil kalkulasi, yang akan membunuh performa pada sheet dengan 10.000 baris potensial.

Yang Tidak Bisa Dilakukan ARRAYFORMULA di Google Sheets

Halaman bantuan Google tidak mencantumkan batasan apa pun. Padahal ada beberapa.

VLOOKUP tidak bekerja seperti yang Anda harapkan. Jika Anda menulis =ARRAYFORMULA(VLOOKUP(A2:A100, 'Tarif'!$A:$B, 2, 0)), hasilnya sering hanya mengembalikan kecocokan pertama atau menghasilkan error. Gunakan INDEX/MATCH sebagai gantinya:

=ARRAYFORMULA(
  IFERROR(
    INDEX('Tarif'!$B:$B,
      MATCH('Pendapatan'!A2:A100, 'Tarif'!$A:$A, 0)
    ),
    0
  )
)

QUERY dan IMPORTRANGE tidak mendapat manfaat dari ARRAYFORMULA. Membungkus keduanya hanya menambah overhead kalkulasi tanpa mengubah output. Google Docs Editors Help tidak memperingatkan Anda soal ini.

Referensi campuran gagal secara diam-diam. Jika ARRAYFORMULA Anda mereferensikan satu sel seperti $D$4 bersama dengan range seperti C2:C, Sheets akan melakukan broadcast sel tunggal tersebut dengan benar. Tapi jika Anda tidak sengaja menulis D4 (relatif), Sheets akan menggesernya per baris selama evaluasi dan hasilnya terlihat masuk akal padahal sebenarnya salah. Audit dengan Ctrl+~ (mode tampilkan formula) jika angka terlihat janggal.

Realita Performa untuk Model Besar

Google Sheets memiliki batas 10 juta sel, sebagaimana tercantum dalam halaman batas Google Drive and Docs. Yang tidak disebutkan dokumentasi: satu ARRAYFORMULA yang beroperasi pada kolom penuh (A:A) di tab dengan 50.000 baris, dipanggil dari 8 tab lain, bisa mendorong waktu rekalkulasi hingga lebih dari 30 detik.

Solusinya adalah pembatasan range. Jika data transaksi Anda tidak pernah melebihi baris ke-5.000, tulis A2:A5000, bukan A:A. Untuk model board pack kuartalan di mana tab P&L mengumpan 6 tab hilir, perbedaan ini adalah selisih antara model yang terbuka dalam 4 detik dan model yang habis waktu (timeout).

Per Juni 2026, Google Sheets merekalkulasi semua hasil ARRAYFORMULA yang bergantung setiap kali ada perubahan pada range sumber. Tidak ada cara untuk membuatnya statis selain copy-paste nilai, yang justru mengalahkan tujuan penggunaannya.

Pintasan Keyboard yang Ada di Dokumentasi (dan Satu yang Tidak)

Ctrl+Shift+Enter secara otomatis membungkus formula Anda saat ini dalam ARRAYFORMULA. Informasi itu ada di dokumentasi.

Yang tidak ada: jika Anda menghapus kurung kurawal { yang terkadang muncul di sekitar formula array lama (dibawa dari Excel), Sheets mungkin mengevaluasinya secara berbeda dari yang Anda harapkan. Sintaks kurung kurawal adalah notasi formula array milik Excel. Google Sheets menggunakan ARRAYFORMULA sebagai wrapper sebagai penggantinya. Jika Anda telah mengimpor model dari Excel, periksa formula apa pun yang terlihat seperti {=SUM(IF(...))}. Formula tersebut perlu ditulis ulang menjadi =ARRAYFORMULA(SUM(IF(...))) agar bisa dievaluasi dengan benar di Sheets.

Kapan Harus Melewatkan ARRAYFORMULA Sama Sekali

Jika Anda melakukan kalkulasi yang sama 3 kali dalam sebuah kolom dan model tidak akan berkembang, menyalin formula ke bawah lebih cepat untuk dibangun dan lebih mudah diaudit oleh analis lain. ARRAYFORMULA menambah lapisan indirection yang memperlambat review model ketika orang lain sedang menelusuri logika Anda.

Titik optimalnya adalah 20 baris ke atas, panjang variabel, atau di mana pun formula yang sama perlu tetap tersinkronisasi di seluruh dataset yang terus berkembang. Untuk tabel asumsi tetap 5 baris, ARRAYFORMULA berlebihan.

FAQ: ARRAYFORMULA di Google Sheets

Apakah ARRAYFORMULA masih relevan di Google Sheets 2024 dan seterusnya?

Ya. Meskipun banyak fungsi sudah mendukung ekspansi array secara otomatis sejak 2024, ARRAYFORMULA tetap penting untuk memaksa fungsi seperti SUMIFS dan COUNTIFS menghasilkan output array, serta untuk mengontrol bentuk output secara eksplisit.

Mengapa ARRAYFORMULA saya hanya mengembalikan satu nilai, bukan seluruh kolom?

Kemungkinan besar fungsi di dalamnya tidak mendukung mode array. Coba ganti VLOOKUP dengan INDEX/MATCH, atau pastikan dimensi range input dan output sudah konsisten.

Apakah ARRAYFORMULA memperlambat Google Sheets?

Bisa, jika digunakan dengan referensi kolom penuh (A:A) pada dataset besar. Batasi range ke baris maksimum data Anda (misalnya A2:A5000) untuk menjaga performa tetap optimal.

Bagaimana cara menghapus ARRAYFORMULA tanpa merusak data?

Klik sel yang mengandung ARRAYFORMULA, salin hasilnya dengan Paste Special > Values Only ke lokasi baru, lalu hapus sel asli. Formula tidak bisa diedit secara parsial; Anda harus menulis ulang dari awal.

Bisakah ARRAYFORMULA digunakan bersama IMPORTRANGE?

Tidak ada manfaatnya. IMPORTRANGE sudah mengembalikan array secara native. Membungkusnya dengan ARRAYFORMULA hanya menambah overhead kalkulasi tanpa perubahan pada output.


Coba ModelMonkey gratis selama 14 hari - tersedia untuk Google Sheets dan Excel.