Excel formüllerindeki hataları giderme ve boş hücreleri doğru şekilde işleme
Excel formülünde bir hata (örneğin, #DIV/0!, #VALUE!) ortaya çıkarsa veya hesaplama boş hücreler nedeniyle verileri yok sayarsa, çözüm sorunun türüne bağlıdır. Formülü "korumak" için en hızlı yol, onu IFERROR fonksiyonu içine almaktır; toplam alırken boşlukları yok saymak için ise SUMIF veya AGGREGATE gibi koşullu fonksiyonlar kullanılır. Aşağıda arıza nedenleri, bunların giderilme yöntemleri ve sağlam hesaplamalar oluşturma yolları ayrıntılı olarak incelenmiştir.
Hata türleri ve açıklamaları
Formülü düzeltmeden önce, Excel'in tam olarak neyden şikayet ettiğini anlamak önemlidir. Hata kodu, arızanın belirli nedenini gösterir:
| Hata Kodu | Oluşma Nedeni | Örnek Durum |
|---|---|---|
#DIV/0! (#DIV/0!) | Bir sayının sıfıra veya boş bir hücreye bölünmesi. | Ürün sayısı 0 olduğunda geliri ürün sayısına bölme girişimi. |
#VALUE! (#VALUE!) | Bağımsız değişkende yanlış veri türü. | Bir sayı ile metnin toplanması ("100" + "TL"). |
#REF! (#REF!) | Referans verilen hücrenin silinmesi. | B sütununu sildiniz, oysa formül B2'ye referans veriyordu. |
#NAME? (#NAME?) | Fonksiyon adında yazım hatası veya metin için tırnak işaretlerinin eksik olması. | =SUM(A1:A5) yerine =SUMM(A1:A5) yazılması. |
#N/A (#N/A) | Değer mevcut değil (genellikle arama sırasında). | VLOOKUP fonksiyonu tabloda aranan değeri bulamadı. |
#NUM! (#NUM!) | Geçersiz sayısal değer. | Negatif bir sayının karekökünün alınması. |
Hızlı ipucu: Matematiksel işlemlerde boş bir hücre genellikle 0 olarak algılanır. Bu nedenle boş bir hücreye bölme işlemi #DIV/0! hatasına neden olur.
Hataları işleme için evrensel yöntemler
Tablonun düzenli görünmesini ve kullanıcıları kırmızı kodlarla korkutmamasını sağlamak için hata işleyici fonksiyonları kullanın.
1. IFERROR Fonksiyonu
En popüler araçtır. Formül herhangi bir hata verirse, fonksiyon sizin belirlediğiniz değeri (metin, 0 veya boş dize) döndürür.
Sözdizimi:
=IFERROR(formülünüz; "hata_durumundaki_değer")
Örnek:
Boş B2 durumunda #DIV/0! verecek olan =A2/B2 yerine şunu yazın:
=IFERROR(A2/B2; 0)
Sonuç: Sıfıra bölme durumunda hücrede 0 görüntülenir.
2. IFNA Fonksiyonu
Yalnızca #N/A hatasıyla ilgilendiğinizde (örneğin, VLOOKUP kullanırken) daha hassas bir araçtır. Diğer hataları (örneğin #VALUE!) görmezden gelir, bu da mantıktaki gerçek arızaları fark etmeye yardımcı olur.
Örnek:
=IFNA(VLOOKUP(D2; A:B; 2; 0); "Bulunamadı")
3. Koşul kontrolü ile birleştirme
Bazen hatayı hesaplamadan önce önlemek, IF kullanarak daha iyidir.
Sıfıra bölme hatasına karşı koruma örneği:
=IF(B2=0; 0; A2/B2)
Eğer "0", bir arızayı maskelemek yerine iş mantığı için geçerli bir sonuçsa, bu yöntem tercih edilir.
Hesaplamalarda boş hücrelerle çalışma
Boş hücreler istatistikleri bozabilir. Örneğin, AVERAGE fonksiyonu boşlukları yok saysa da, hücrede bir boşluk karakteri veya "0" metni varsa sonuç değişir.
Boşlukların agregat fonksiyonlardan çıkarılması
Yalnızca doldurulmuş hücreleri dikkate almak için -IF veya -IFS son ekli fonksiyonları kullanın.
- Boş ve sıfır olmayanların toplamı:
=SUMIF(A1:A10; "<>0")— yalnızca sıfıra eşit olmayan hücreleri toplar. - Yalnızca doldurulmuş olanların ortalaması:
=AVERAGEIF(A1:A10; "<>""")— çift tırnak işaretleri "boş dizeye eşit değil" anlamına gelir.
AGGREGATE Fonksiyonu — Güçlü bir araç
AGGREGATE fonksiyonu, yalnızca boş hücreleri değil, aynı zamanda aralıktaki gizli satırları ve hataları da yok saymanıza olanak tanır.
Sözdizimi:
=AGGREGATE(fonksiyon_numarası; yoksayma_parametreleri; aralık)
Örnek: Aralıktaki herhangi bir hatayı yok sayarak ortalama değeri bulma:
=AGGREGATE(1; 6; A1:A10)
1— AVERAGE fonksiyonunun kodu.6— "Hata değerlerini yoksay" parametresinin kodu.
Metin tabanlı "boşluklara" dikkat edin. ="" formülünü içeren bir hücre görsel olarak boştur, ancak bazı fonksiyonlar için bu bir metindir, boşluk değildir. COUNTA fonksiyonu böyle bir hücreyi dolu olarak sayar. Yalnızca sayıları saymak için COUNT kullanın.
Verilere özgü sorunların giderilmesi
Çoğu zaman hata formülün kendisinde değil, kaynak hücrelerin veri formatındadır.
Metin olarak kaydedilen sayılar
Toplama yaparken 0 veya #VALUE! alıyorsanız, hücre formatını kontrol edin. Sayılar sık sık metin olarak içe aktarılır (hücrenin köşesinde yeşil üçgen bulunur).
- Çözüm: Aralığı seçin → Veri → Metni Sütunlara Dönüştür → Son.
- Formülle: Çift eksi işareti aracılığıyla zorunlu dönüştürme:
=SUM(--A1:A10)(eski sürümlerde dizi formülü olarak girilir) veya=SUM(VALUE(A1:A10)).
Satır silindikten sonra #REF! hatası
Formülün referans verdiği bir satırı veya sütunu silerseniz, referans bozulur.
- Önleme: Adlandırılmış Aralıklar kullanın. Bir aralığa "Satışlar" adını verirseniz,
=SUM(Satışlar)formülü, bu ada sahip en az bir hücre var olduğu sürece, aralığın parçaları silindiğinde otomatik olarak ayarlanacaktır.
#NAME? Hatası
Şunları kontrol edin:
- Fonksiyon yazımının doğruluğu (Türkçe/İngilizce sürüm farklarına dikkat edin, örneğin
VLOOKUPçalışmayabilir,ARAveya uygun yerel karşılık gerekir). - Formül içindeki metin değerlerinin etrafında tırnak işaretlerinin bulunması:
=IF(A1="Evet"; 1; 0). Tırnak işaretleri olmadan Excel "Evet" adını aramaya çalışır.
Sağlam formüller için pratik örnekler
Örnek 1: Korumalı kar marjı hesaplama
Görev: Marjı (Fiyat - Maliyet) / Fiyat olarak hesaplayın. Fiyat girilmediyse hata olmamalıdır.
Kötü formül:
=(B2-C2)/B2 → B2 boşsa #DIV/0! verir.
İyi formül:
=IFERROR((B2-C2)/B2; "-")
Veya daha katı bir kontrol:
=IF(B2=0; ""; (B2-C2)/B2)
Örnek 2: Varsayılan değer atamalı veri arama
Görev: Ürün koduna göre ürün fiyatını bulun. Ürün yoksa, #N/A yerine "Stokta yok" yazın.
Formül:
=IFNA(VLOOKUP(E2; FiyatListesi; 2; 0); "Stokta yok")
Örnek 3: Kaynaktaki hataları yok sayarak toplama
Sütunda sayılar vardır, ancak bazı hücreler diğer formüllerdeki arızalar nedeniyle #N/A hatası içerir. Normal SUM hata döndürür.
Çözüm:
=AGGREGATE(9; 6; A2:A100)
9— SUM fonksiyonunun kodu.6— hataları yoksay.
Kullanıcıların sık yaptığı hatalar
- Veri türünü görmezden gelmek. Tarihin Excel'de de bir sayı olduğunu anlamadan tarih ile sayıyı toplama girişimi.
- Tüm hataları ardı ardına maskeleme. Her yerde
IFERROR(...; 0)kullanmak, gerçek sorunları (örneğin fonksiyon adındaki yazım hatasını) gizler ve hata ayıklamayı zorlaştırır. - Eski sürümlerde tüm sütuna referans verme. Eski Excel sürümlerinde
=SUM(A:A)formülü dosyanın çalışmasını yavaşlatabilir. Belirli aralıklar veya Akıllı Tablolar (Ctrl+T) kullanmak daha iyidir.
SSS
Soru: Sayfadaki tüm hatalı hücreleri hızlıca nasıl bulabilirim?
Cevap: F5 tuşuna basın → "Özel Git" düğmesi → "Formüller"i seçin ve yalnızca "Hatalar" kutucuğunu işaretleyin. Excel tüm sorunlu hücreleri seçecektir.
Soru: Boş bir hücre ile ="" formüllü bir hücre arasındaki fark nedir?
Cevap: Görsel olarak aynıdırlar. Ancak ISBLANK fonksiyonu yalnızca gerçekten boş olan bir hücre için DOĞRU döndürür. ="" içeren bir hücre için YANLIŞ döndürür, çünkü orada bir formül vardır.
Soru: VLOOKUP neden değer kesinlikle mevcut olsa bile #N/A veriyor? Cevap: Çoğu zaman veri türleri eşleşmez: bir tabloda sayı sayı olarak (123), diğerinde ise metin olarak ("123") yazılmıştır. Her iki sütunu da aynı formata getirin.
Özet
Excel'de güvenilir tablolar oluşturmak için üç kurala uyun:
- Teşhis edin: Sorunun özünü anlamak için hata koduna bakın, sadece onu gizlemeyin.
- Koruyun: Nihai veri çıktısı için
IFERRORve geçersiz işlemleri (sıfıra bölme gibi) önlemek içinIFkullanın. - Filtreleyin: Atlamaların veya hataların mümkün olduğu aralıklarla çalışmak için
SUMIF,AVERAGEIFveAGGREGATEuygulayın.
Profesyonel ipucu: Hücreler arasındaki bağlantıları görsel olarak izlemek ve karmaşık hesaplama zincirlerinde hata kaynağını hızla bulmak için "Formüller" sekmesindeki "Formül Bağımlılıklarını İzle" aracını düzenli olarak kullanın.