İçeriğe geç
parazade
MantıksalÖrnekler doğrulandı

EĞERYOKSA Formülü (IFNA): Yalnız #YOK Hatasını Yakalama

EĞERYOKSA

İngilizce adı: IFNA

SürümlerMicrosoft 365Excel 2021Excel 2019Excel 2016Excel 2013Excel WebExcel Mac(en az Excel 2013)

Yayın: · Son güncelleme:

EĞERYOKSA kısaca

EĞERYOKSA, formül #YOK hatası verirse belirlediğiniz değeri, aksi hâlde formülün sonucunu döndürür. Diğer hataları gizlemediği için arama formüllerinde EĞERHATA'dan daha seçicidir; Excel 2013 ile gelmiştir.

Söz dizimi

EĞERYOKSA(değer; eğer_yoksa_değer)

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ümanDurumAçıklama
değervalueZorunlu#YOK hatası için denetlenen formül ya da değer.
eğer_yoksa_değervalue_if_naZorunludeğer #YOK hatası üretirse döndürülecek sonuç.
İçindekiler
  1. EĞERYOKSA'nın farkı
  2. Söz dizimi
  3. Neden EĞERHATA yerine EĞERYOKSA?
  4. Fiyat listesinden varsayılan değerle arama
  5. KAÇINCI ile listede olup olmadığını göstermek
  6. Sık yapılan hatalar
  7. Hangi formülle birlikte?

EĞERYOKSA'nın farkı

Excel EĞERYOKSA formülü yalnız #YOK hatasını yakalar ve yerine sizin yazdığınız değeri koyar. #YOK, arama formüllerinin "aradığım değeri bulamadım" deme biçimidir. Diğer hatalar olduğu gibi görünmeye devam eder.

Ürün koduyla fiyat getiren bir listede kod bulunmazsa =EĞERYOKSA(DÜŞEYARA("P-104";A2:B4;2;YANLIŞ);"Listede yok") formülü "Listede yok" yazar. Kod listedeyse gerçek fiyat gelir.

Söz dizimi

İki argüman vardır ve ikisi de zorunludur. değer denetlenen formüldür, eğer_yoksa_değer ise #YOK durumunda dönecek sonuçtur. Bu sonuç metin, sayı ya da boş metin ("") olabilir.

Formül Excel 2013 ile gelmiştir ve Microsoft 365, Excel 2021, 2019, 2016 sürümlerinde de bulunur. Excel 2010'da açılan bir dosyada #AD? hatası görürsünüz.

EĞERYOKSA, içindeki hesaplamayı yalnız bir kez yapar. Eski dosyalarda sık görülen EĞER(EYOKSA(DÜŞEYARA(...));"Yok";DÜŞEYARA(...)) kalıbı aramayı iki kez çalıştırır. EĞERYOKSA ile aynı sonuç daha kısa ve daha hızlı bir formülle alınır.

Neden EĞERHATA yerine EĞERYOKSA?

Arama formüllerinde #YOK beklenen bir durumdur, ama #BAŞV! ya da #DEĞER! formülün bozulduğunu gösterir. EĞERHATA bunların hepsini aynı mesajla örter. EĞERYOKSA ise yalnız beklenen durumu yakalar ve gerçek hatayı size gösterir.

Bunu basit bir deneyle görebilirsiniz. Satışı 0 adet olan bir satırda =EĞERYOKSA(B2/C2;"Yok") yazdığınızda sonuç "Yok" olmaz, #SAYI/0! görünür. Bölme hatası #YOK türünde olmadığı için formül ona dokunmaz.

Fiyat listesinden varsayılan değerle arama

Sipariş formlarında listede olmayan kodlar için 0 döndürmek toplamların bozulmasını önler. =EĞERYOKSA(DÜŞEYARA("P-102";A2:B4;2;YANLIŞ);0) formülü P-102 kodunun 18.500 TL fiyatını getirir. Kod listeden silinirse sonuç 0 olur ve sipariş toplamı hata vermez.

Bu sonuç sizi yanıltabilir, çünkü 0 fiyatlı bir satır gözden kaçabilir. Fatura gibi hassas tablolarda 0 yerine "Kod hatalı" gibi bir metin yazmak eksik kalemi daha görünür kılar.

KAÇINCI ile listede olup olmadığını göstermek

EĞERYOKSA yalnız fiyat getirmek için değil, bir değerin listede olup olmadığını göstermek için de kullanılır. KAÇINCI bulduğu değerin sırasını, bulamadığında #YOK döndürür. =EĞERYOKSA(KAÇINCI(A2;Kara_liste!A:A;0);"Temiz") formülü kara listede olmayan müşteri için "Temiz" yazar, listede olan için sıra numarasını gösterir.

Sonucu daha okunur yapmak isterseniz formülü EĞER ile birleştirebilirsiniz. Toplu kontrol gereken durumlarda bu kalıp, iki listeyi gözle karşılaştırmaktan çok daha hızlıdır. Binlerce satırlık bir müşteri listesinde birkaç saniyede sonuç alırsınız.

Sık yapılan hatalar

Sık görülen yanılgı, EĞERYOKSA'nın tüm hataları yakaladığını sanmaktır. Sütun numarasını tablo genişliğinden büyük yazdığınızda DÜŞEYARA #BAŞV! verir ve EĞERYOKSA bunu yakalamaz. Bu bir eksiklik değil, formülün amacıdır.

Bir diğer sorun, değerin gerçekten listede olduğu hâlde #YOK almaktır. Sayı olarak saklanan kod ile metin olarak saklanan kod eşleşmez, sondaki boşluk da eşleşmeyi bozar. Bu durumda EĞERYOKSA sorunu çözmez, yalnız gizler; önce veriyi KIRP ile temizleyin.

Hangi formülle birlikte?

EĞERYOKSA çoğunlukla DÜŞEYARA, YATAYARA, KAÇINCI ve İNDİS ile birlikte kullanılır. ÇAPRAZARA kullanıyorsanız formülün kendi "bulunamazsa" argümanı aynı işi görür. Tüm hata türlerini yakalamanız gerekiyorsa EĞERHATA'ya geçin.

Elinizdeki DÜŞEYARA formüllerinden EĞERHATA ile sarılmış olanları bulun ve EĞERYOKSA ile değiştirin. Ardından sütun numarasını bilerek büyütüp #BAŞV! hatasının artık göründüğünü kontrol edin.

Örnekler

Örnek 1: Listede olmayan ürün kodu
ABCD
1KodFiyat
2P-10112.400Listede yok
3P-10218.500
4P-1039.900
=EĞERYOKSA(DÜŞEYARA("P-104";A2:B4;2;YANLIŞ);"Listede 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: Listede yok

P-104 listede olmadığı için DÜŞEYARA #YOK üretir. EĞERYOKSA bu hatayı Listede yok metniyle değiştirir.

Örnek 2: Kod bulunduğunda fiyat
ABCD
1KodFiyat
2P-10112.40018.500
3P-10218.500
4P-1039.900
=EĞERYOKSA(DÜŞEYARA("P-102";A2:B4;2;YANLIŞ);0)

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: 18.500

P-102 listede bulunur ve fiyatı 18.500 olarak gelir. Hata olmadığı için ikinci argüman kullanılmaz.

Örnek 3: Sıfıra bölme hatası yakalanmaz
ABCDE
1ÜrünTutarAdet
2Termos1.5000#DIV/0!
=EĞERYOKSA(B2/C2;"Yok")

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: #DIV/0!

Bölme #SAYI/0! hatası verir. Bu hata #YOK olmadığı için EĞERYOKSA ona dokunmaz ve hata görünür kalır.

Örnek dosyayı indir.xlsx dosyası, ücretsiz · tüm örnekler hazır formüllerle

Yaygın hatalar ve çözümleri

İlgili fonksiyonlar

EĞERYOKSA kullanan rehberler ve alıştırmalar

Sıkça Sorulan Sorular

Excel EĞERYOKSA formülü nasıl kullanılır?

Arama formülünü ilk argümana, bulunamazsa görünecek değeri ikinci argümana yazarsınız: =EĞERYOKSA(DÜŞEYARA(...);"Listede yok").

EĞERYOKSA neden #SAYI/0! hatasını yakalamıyor?

Formül yalnız #YOK hatası için tasarlanmıştır. Sıfıra bölme gibi diğer hataları da yakalamak istiyorsanız EĞERHATA kullanın.

EĞERYOKSA hangi sürümde var?

Excel 2013 ve sonraki sürümlerde, Microsoft 365'te ve Excel'in web sürümünde bulunur.