Excel 365'te Taşma Hatası (#SPILL) Nedir? Nedenleri ve Kesin Çözümleri
Excel 365'in dinamik dizi özelliği, tek bir formülle birden fazla hücreye sonuç döndürmenizi sağlar. Ancak bu güçlü özellik bazen #SPILL! hatasına neden olabilir. Bu rehberde taşma hatasının tüm nedenlerini ve adım adım çözümlerini bulacaksınız.
Taşma Hatası (#SPILL) Nedir?
Taşma hatası, bir formülün birden fazla sonuç ürettiği ancak bu sonuçları yazacak hücrelerin uygun olmadığı durumlarda ortaya çıkar. Excel 365 öncesi sürümlerde bu sorun yoktu çünkü formüller yalnızca tek hücreye sonuç döndürüyordu.
Örnek:=FILTER(A1:A100, B1:B100="Satış") formülü 15 sonuç döndürecekse, formülün bulunduğu hücreden itibaren 15 hücrenin boş olması gerekir.
Taşma Hatasının 5 Temel Nedeni
1. Taşma Alanında Dolu Hücre Var
En yaygın neden budur. Formülün sonuçlarını yazacağı hücrelerden biri veya birkaçı doluysa hata oluşur.
Nasıl tespit edilir:
Hatalı hücreye tıklayın
Mavi kesikli çizgiyle gösterilen taşma alanını inceleyin
Alan içindeki dolu hücreyi bulun
Çözüm: Taşma alanındaki verileri silin veya formülü başka bir konuma taşıyın.
2. Birleştirilmiş Hücreler
Taşma alanında birleştirilmiş hücre varsa Excel sonuçları yazamaz.
Çözüm:
Taşma alanını seçin
Giriş > Birleştir ve Ortala butonuna tıklayarak birleştirmeyi kaldırın
Veya formülü birleştirilmiş hücre içermeyen bir alana taşıyın
3. Tablo İçinde Taşma
Excel tabloları (Ctrl+T ile oluşturulan) dinamik dizileri desteklemez. Tablo içindeki bir formül taşma yapamaz.
Çözüm:
Formülü tablo dışına taşıyın
Veya tabloyu normal aralığa dönüştürün: Tablo Tasarımı > Aralığa Dönüştür
4. Belirsiz Kesişim (@ Operatörü)
Eski Excel dosyalarını açtığınızda formüllerin başına @ işareti eklenebilir. Bu, taşma davranışını engeller.
Çözüm: Formül çubuğundan @ işaretini kaldırın.
5. Bellek Yetersizliği
Çok büyük veri setleriyle çalışırken sistem belleği yetersiz kalabilir.
Çözüm:
Formülün döndürdüğü sonuç sayısını INDEX veya TAKE fonksiyonlarıyla sınırlayın
Örnek: =TAKE(SORT(A1:A10000), 100) — yalnızca ilk 100 sonucu döndürür
Örneğin aşağıdaki ekran görüntüsünde =BENZERSİZ(F4:F237) formülünü uygulayarak F4:F237 arasındaki değerleri benzersiz olarak M4 sütunundan itibaren aşağıya doğru yazdırmak istediğinizde #Taşma hatası ile karşılaşırsınız.
Bu hatanın nedeni M13 hücresinde yazan Stok Listesi ifadesidir. Benzersiz formülü F4:F237 arasındaki değerleri benzersiz olarak M4:M37 arasına getirmek istemekte ama M13 de bulunan Stok listesi ifadesi buna engel olmaktadır. M13 de bulunan stok listesi ifadesini sildiğinizde sonucun geldiğini görürsünüz.
Bu formül, filtre sonucu boş olduğunda da hata vermez.
Örnek 3: Taşma Alanını Önceden Kontrol Etme
Formülünüzün kaç satır döndüreceğini öğrenmek için:
=ROWS(UNIQUE(A:A))
Excel 365'in Dinamik Dizi Fonksiyonları
Taşma özelliğini kullanan ve #SPILL hatasına neden olabilecek fonksiyonlar:
Fonksiyon
Açıklama
Örnek Kullanım
FILTER
Koşula göre filtreler
=FILTER(A1:B10, B1:B10>100)
UNIQUE
Benzersiz değerleri listeler
=UNIQUE(A1:A100)
SORT
Verileri sıralar
=SORT(A1:A10, 1, -1)
SORTBY
Başka sütuna göre sıralar
=SORTBY(A1:A10, B1:B10)
SEQUENCE
Sayı dizisi oluşturur
=SEQUENCE(10, 1, 1, 1)
RANDARRAY
Rastgele dizi oluşturur
=RANDARRAY(5, 3)
XLOOKUP
Gelişmiş arama yapar
=XLOOKUP(D1, A:A, B:B)
Sık Sorulan Sorular (SSS)
#SPILL hatası neden sadece Excel 365 ve Excel 2021’de görülür?
Dinamik dizi yapısı Excel 365 ve Excel 2021 ile geldi. Eski sürümlerde formüller yalnızca tek hücreye sonuç döndürdüğü için #SPILL hatası oluşmaz.
Taşma alanını engelleyen hücreyi nasıl hızlıca bulurum?
Hatalı hücreye tıkladığınızda Excel, taşma alanını mavi kesikli çizgiyle gösterir. Engel oluşturan hücre bu alan içinde vurgulanır. Ayrıca hücrenin yanındaki hata simgesine tıklayarak Engellenen Hücreleri Seç seçeneğini kullanabilirsiniz.
Taşma sonuçlarına nasıl referans veririm?
Dinamik dizinin tamamına referans vermek için # operatörünü kullanın:
=TOPLA(A1#)
Bu formül, A1 hücresinden taşan tüm sonuçları birlikte toplar.
Taşma alanı boyutunu sınırlayabilir miyim?
Evet. Dinamik diziyi sınırlamak için aşağıdaki yöntemleri kullanabilirsiniz:
=İNDİS(BENZERSİZ(A:A);DİZİ(10)) ' İlk 10 benzersiz değer =AL(SIRALA(A1:A100);5) ' En küçük 5 değer
Birleştirilmiş hücreler neden taşma hatasına neden olur?
Birleştirilmiş hücreler Excel tarafından tek hücre gibi algılanır. Dinamik dizi sonuçları birden fazla hücreye yazılmak istediği için #SPILL hatası oluşur. Taşma sonuçları için hücrelerin ayrı ve boş olması gerekir.
Özet: Hızlı Kontrol Listesi
Taşma hatası aldığınızda şu adımları izleyin:
☐ Taşma alanında dolu hücre var mı? → Temizleyin
☐ Birleştirilmiş hücre var mı? → Birleştirmeyi kaldırın
☐ Formül tablo içinde mi? → Tablo dışına taşıyın
☐ Formül başında @ var mı? → Kaldırın
☐ Sonuç sayısı çok mu fazla? → INDEX/TAKE ile sınırlayın