EĞERHATA Formülü (IFERROR): Hata Yerine Okunur Sonuç
EĞERHATA
İngilizce adı: IFERROR
Yayın: · Son güncelleme:
EĞERHATA kısaca
EĞERHATA, bir formül hata verirse sizin belirlediğiniz değeri, hata yoksa formülün kendi sonucunu döndürür. #SAYI/0!, #YOK, #DEĞER! gibi tüm hata türlerini yakalar; bulunamayan aramalarda ve sıfıra bölmede kullanılır.
Söz dizimi
EĞERHATA(değer; eğer_hataysa_değer)IFERROR(value, value_if_error)Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.
Argümanlar
| Argüman | Durum | Açıklama |
|---|---|---|
değervalue | Zorunlu | Hata olup olmadığı denetlenen formül ya da değer. Hata yoksa bu argümanın sonucu döner. |
eğer_hataysa_değervalue_if_error | Zorunlu | değer bir hata üretirse döndürülecek sonuç. Sayı, metin ya da boş metin ("") olabilir. |
İçindekiler
EĞERHATA ne yapar?
Excel EĞERHATA formülü, başka bir formülün hata üretip üretmediğine bakar. Hata yoksa formülün sonucunu olduğu gibi gösterir, hata varsa sizin yazdığınız değeri döndürür. Böylece raporlarda #SAYI/0! ya da #YOK yerine 0, "-" veya "Kayıt yok" gibi okunur bir sonuç görünür.
Adet sütununda henüz satış girilmemiş bir ürünün birim fiyatını hesaplarken =B2/C2 formülü sıfıra bölme hatası verir. =EĞERHATA(B2/C2;0) yazdığınızda aynı satırda 0 görünür, adet girildiği anda gerçek değer hesaplanır.
Argümanlar
Formül iki argüman alır ve ikisi de zorunludur. değer, denetlenen hesaplamadır; çoğunlukla bir bölme ya da arama formülüdür. eğer_hataysa_değer ise hata durumunda gösterilecek sonuçtur.
Yakalanan hata türleri #YOK, #DEĞER!, #BAŞV!, #SAYI/0!, #SAYI!, #AD? ve #BOŞ! değerleridir. Hata durumunda hücrenin boş görünmesini istiyorsanız ikinci argümana "" yazarsınız. Bu durumda hücre boş görünür ama içinde formül vardır.
Arama formüllerinde kullanım
En yaygın senaryo, DÜŞEYARA'nın bulamadığı değerlerdir. Personel numarasıyla departman getiren bir tabloda listede olmayan bir numara arandığında #YOK oluşur. =EĞERHATA(DÜŞEYARA("P-120";A2:B4;2;YANLIŞ);"Kayıt yok") bu durumda "Kayıt yok" yazar.
Bu yöntem formül aşağı kopyalandığında tüm sütunu temiz tutar. Yine de yalnız #YOK beklediğiniz aramalarda EĞERYOKSA daha seçicidir, çünkü sütun numarasını yanlış yazmaktan doğan #BAŞV! gibi gerçek hataları gizlemez.
Bölen sıfır olduğunda
Büyüme oranı hesaplarında geçen yılın değeri 0 olan yeni ürünler sıfıra bölme hatası üretir. =EĞERHATA((C2-B2)/B2;"Yeni ürün") formülü geçen yıl satışı olmayan ürüne "Yeni ürün" yazar. Diğer satırlarda normal oran hesaplanır.
Hata yoksa formül hiçbir şey değiştirmez. Satış tutarı 1.500 TL ve adet 12 olan bir satırda =EĞERHATA(B2/C2;"-") sonucu 125 olur.
Birden çok tabloda sırayla arama
EĞERHATA iç içe yazılarak ikinci bir kaynağa geçiş için de kullanılabilir. Ürün önce güncel fiyat listesinde, bulunamazsa arşiv listesinde aranacaksa formül =EĞERHATA(DÜŞEYARA(A2;Güncel!A:C;3;YANLIŞ);DÜŞEYARA(A2;Arşiv!A:C;3;YANLIŞ)) olur. İlk arama #YOK verdiğinde Excel ikinci aramayı çalıştırır.
Bu zincire üçüncü bir katman ekleyip iki listede de olmayan kodlar için "Bulunamadı" yazdırabilirsiniz. Yine de her ek katman formülü uzatır ve hesaplamayı yavaşlatır. Kaynak sayısı arttıkça listeleri tek bir tabloda birleştirmek daha sağlıklı bir çözümdür.
Sık yapılan hatalar
En büyük risk, EĞERHATA'nın gerçek hataları da sessizce gizlemesidir. Aralığı yanlış seçtiğiniz, formül adını hatalı yazdığınız ya da bir sütunu sildiğiniz durumlar da aynı "Kayıt yok" mesajıyla örtülür. Formülü önce EĞERHATA olmadan yazıp test etmek, sonra sarmalamak bu riski azaltır.
İkinci sorun, hata durumunda 0 döndürüp sonra bu sütunun ortalamasını almaktır. Sıfırlar ortalamayı aşağı çeker. Toplamda sorun yoktur, ortalamada ise "" döndürmek daha doğru sonuç verir çünkü ORTALAMA metinleri yok sayar.
EĞERHATA yerine ne kullanılır?
Yalnız #YOK hatasını yakalamak istiyorsanız EĞERYOKSA kullanın. Hatayı yakalamadan yalnız DOĞRU/YANLIŞ ile işaretlemek isterseniz EHATALIYSA uygundur. Microsoft 365 ve Excel 2021'deki ÇAPRAZARA'nın kendi "bulunamazsa" argümanı da vardır.
Şimdi raporlarınızda #SAYI/0! ya da #YOK gösteren bir sütun seçin. Formülü EĞERHATA içine almadan önce hatanın nedenini kontrol edin, beklenen bir durumsa ikinci argümana okunur bir mesaj yazın.
Örnekler
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Ürün | Tutar | Adet | ||
| 2 | Termos | 1.500 | 0 | 0 |
=EĞERHATA(B2/C2;0)=IFERROR(B2/C2,0)Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.
E2 hücresinin sonucu: 0
Adet 0 olduğu için B2/C2 sıfıra bölme hatası verir. EĞERHATA hatayı yakalar ve 0 döndürür.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Sicil | Departman | ||
| 2 | P-101 | Muhasebe | Kayıt yok | |
| 3 | P-102 | Satış | ||
| 4 | P-103 | Depo |
=EĞERHATA(DÜŞEYARA("P-120";A2:B4;2;YANLIŞ);"Kayıt yok")=IFERROR(VLOOKUP("P-120",A2:B4,2,FALSE),"Kayıt yok")Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.
D2 hücresinin sonucu: Kayıt yok
P-120 listede olmadığı için DÜŞEYARA #YOK üretir. EĞERHATA bunun yerine Kayıt yok yazar.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Ürün | Geçen yıl | Bu yıl | ||
| 2 | Kupa | 0 | 340 | Yeni ürün |
=EĞERHATA((C2-B2)/B2;"Yeni ürün")=IFERROR((C2-B2)/B2,"Yeni ürün")Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.
E2 hücresinin sonucu: Yeni ürün
Geçen yılın değeri 0 olduğu için büyüme oranı sıfıra bölme hatası verir ve yerine Yeni ürün yazılır.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Ürün | Tutar | Adet | ||
| 2 | Termos | 1.500 | 12 | 125 |
=EĞERHATA(B2/C2;"-")=IFERROR(B2/C2,"-")Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.
E2 hücresinin sonucu: 125
1.500 / 12 = 125 hesaplanır. Hata olmadığı için ikinci argüman devreye girmez.
Yaygın hatalar ve çözümleri
- #YOK
Neden: Arama formülü değeri bulamadı; EĞERHATA olmadan hücrede #YOK görünür.
Çözüm: Formülü EĞERHATA ya da yalnız #YOK için EĞERYOKSA içine alın.
#YOK hatasının ayrıntılı çözümü → - #SAYI/0!
Neden: Bölen hücre 0 ya da boş.
Çözüm: Bölmeyi EĞERHATA(B2/C2;0) biçiminde yazın ya da önce boleni EĞER ile kontrol edin.
#SAYI/0! hatasının ayrıntılı çözümü → - #BAŞV!
Neden: Silinmiş bir hücreye başvuru var ve EĞERHATA bu gerçek hatayı gizliyor.
Çözüm: Formülü geçici olarak EĞERHATA olmadan çalıştırıp hangi hatanın oluştuğunu görün.
#BAŞV! hatasının ayrıntılı çözümü →
İlgili fonksiyonlar
EĞERHATA kullanan rehberler ve alıştırmalar
Sıkça Sorulan Sorular
Excel EĞERHATA formülü nasıl kullanılır?
Hata verebilecek formülü ilk argümana, hata durumunda görünecek değeri ikinci argümana yazarsınız: =EĞERHATA(B2/C2;0). Hata yoksa normal sonuç görünür.
EĞERHATA ile hücreyi boş nasıl gösteririm?
İkinci argümana iki tırnak yazın: =EĞERHATA(B2/C2;""). Hücre boş görünür, ancak içinde formül olduğu için EBOŞSA YANLIŞ döndürür.
EĞERHATA ile EĞERYOKSA arasındaki fark nedir?
EĞERHATA tüm hata türlerini yakalar, EĞERYOKSA yalnız #YOK hatasını. Arama formüllerinde EĞERYOKSA, diğer hataları görünür bıraktığı için daha güvenlidir.