Analisis Data

Excel Spill Range Isn't Blank: Perbaiki Error #SPILL!

ModelMonkey11 Juni 20263 menit baca

Aturannya sederhana: setiap sel yang dimaksudkan kosong harus benar-benar kosong. Bukan ="", bukan =IF(x,"",y). Jika Anda membutuhkan penekanan tampilan kondisional, gunakan =IF(x, nilai, NA()) dan bungkus formula yang mengonsumsinya dengan IFERROR.

Untuk model multi-tab dengan beberapa output dynamic array, misalnya tab return yang menggunakan SEQUENCE untuk header periode dan tab arus kas yang menggunakan FILTER untuk menarik dari log transaksi, pre-check SUMPRODUCT sebaiknya diletakkan di baris audit model di bagian bawah setiap tab. Hubungkan ke conditional format agar berubah merah ketika hasilnya bukan nol:

-- Letakkan ini di baris audit model di setiap tab
=SUMPRODUCT(--(NOT(ISBLANK('Analisis Return'!C4:C343))))

Jika ModelMonkey menjadi bagian dari alur kerja Anda, tool ini menjalankan pemeriksaan sel sebelum menulis ke rentang mana pun. Sel yang tidak kosong di target akan ditandai sebelum penulisan dieksekusi, bukan setelah. Ini menangkap masalah ="" tepat pada saat masalah itu akan menyebabkan spill error, bukan ketika Anda sedang men-debug laporan direksi yang rusak di pagi hari sebelum presentasi.

Untuk informasi lebih lanjut tentang apa yang diblokir Excel di dalam structured table secara khusus, lihat Formula Array Spill Tidak Didukung di Excel Tables.


FAQ: Excel Spill Range Isn't Blank

Mengapa #SPILL! muncul padahal sel di rentang output terlihat kosong?

Karena "terlihat kosong" dan "benar-benar kosong" adalah dua hal yang berbeda di Excel. Sel bisa menampilkan konten kosong namun tetap menyimpan formula yang menghasilkan "", karakter spasi biasa, atau non-breaking space (Unicode 160). Excel hanya akan melakukan spill melalui sel yang ISBLANK() nya mengembalikan TRUE. Gunakan =ISBLANK(sel) untuk memverifikasi, atau jalankan F5 → Special → Blanks untuk menyorot sel yang benar-benar kosong sekaligus mengungkap mana yang memblokir.

Apakah sel merged bisa menyebabkan error "spill range isn't blank"?

Ya. Jika satu sel saja di jalur spill merupakan bagian dari area merged, Excel memperlakukan seluruh area gabungan itu sebagai terisi. Solusinya: pilih area merged, lalu buka Home → Merge & Center → Unmerge Cells. Atur perataan secara manual setelah itu.

Apa perbedaan #SPILL! di Excel dengan error serupa di Google Sheets?

Di Excel, formula dynamic array yang diblokir menghasilkan #SPILL! dengan pesan "Spill range isn't blank." Di Google Sheets, error yang setara adalah #REF! dengan pesan "Array result was not expanded because it would overwrite data." Penyebab dan cara memperbaikinya identik di kedua platform: temukan sel pemblokir, pastikan benar-benar kosong, dan hapus konten atau formula yang menghalangi.

Bagaimana cara memeriksa seluruh rentang sekaligus sebelum menempatkan formula spill?

Gunakan formula audit berikut. Hasilnya nol berarti rentang bersih; angka di atas nol menunjukkan jumlah sel yang memblokir:

=SUMPRODUCT(--(NOT(ISBLANK(C4:C343))))

Tempatkan formula ini di baris utilitas model Anda dan hubungkan ke conditional format yang berubah merah ketika hasilnya bukan nol.

Apakah menghapus sel dengan tombol Delete sudah cukup untuk membersihkan pemblokir?

Tidak selalu. Tombol Delete menghapus nilai dan formula, tetapi bisa meninggalkan formatting. Gunakan Home → Clear → Clear All untuk memastikan sel benar-benar bersih dari nilai, formula, dan formatting sekaligus.