İçeriğe geç
parazade

#YOK

İngilizce Excel'de: #N/A

#YOK (#N/A) Hatası Nedir, Nasıl Düzeltilir?

Yayın: · Son güncelleme:

Kısaca

#YOK hatası, arama formülünün aradığı değeri bulamadığını gösterir. Değerin listede olup olmadığını, sayı/metin biçimini ve fazladan boşlukları kontrol edin; beklenen eksikleri EĞERYOKSA ile yakalayın.

#YOK hatasının nedenleri

  1. 1

    Aranan değer listede yok

    Değer tablonun arama sütununda hiç bulunmuyor. Bu durumda hata doğru bilgi verir ve EĞERYOKSA ile anlamlı bir değere çevrilebilir.

  2. 2

    Sayı ve metin biçimi farklı

    Aranan değer sayı, tablodaki değer metin olarak saklanmış (ya da tersi). Ekranda aynı görünseler de Excel bunları eşit saymaz.

  3. 3

    Fazladan boşluk veya görünmez karakter

    Başka bir sistemden kopyalanan verilerde metnin başında ya da sonunda boşluk kalabilir. "Elma " ile "Elma" eşleşmez.

  4. 4

    Aranan değer ilk sütunda değil

    DÜŞEYARA yalnız tablo_dizisinin ilk sütununda arar. Değer başka bir sütundaysa bulunamaz.

  5. 5

    Yaklaşık eşleşmede küçük değer

    Yaklaşık eşleşmede aranan değer listedeki en küçük değerden küçükse sonuç #YOK olur.

  6. 6

    Kopyalama sırasında kayan aralık

    Göreli başvurulu bir arama formülü aşağı kopyalandığında tablo aralığı da kayar ve bazı satırlar aralığın dışında kalır.

Nasıl düzeltilir?

  1. 1Boşlukları KIRP ile temizleyin

    Aranan değeri KIRP içine alarak baştaki ve sondaki boşlukları silin.

    =DÜŞEYARA(KIRP(D2);$A$2:$B$4;2;YANLIŞ)

    Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.

  2. 2Metin olarak saklanan sayıyı çevirin

    Aranan değer metin hâlinde bir sayıysa SAYIYAÇEVİR ile sayıya dönüştürün.

    =DÜŞEYARA(SAYIYAÇEVİR(D2);$A$2:$B$4;2;YANLIŞ)

    Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.

  3. 3Tablo aralığını sabitleyin

    Formülü kopyalamadan önce aralığı mutlak başvuruya çevirin ve tam eşleşme kullanın.

    =DÜŞEYARA(D2;$A$2:$B$4;2;YANLIŞ)

    Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.

  4. 4Beklenen eksikleri EĞERYOKSA ile yakalayın

    Listede olmaması normal olan değerler için hatayı 0 ya da açıklayıcı bir metne çevirin.

    =EĞERYOKSA(DÜŞEYARA(D2;$A$2:$B$4;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.

İçindekiler
  1. #YOK hatası ne anlama gelir?
  2. Neden ortaya çıkar?
  3. Adım adım düzeltme
  4. Hatayı gizlemek ne zaman doğru olur?

#YOK hatası ne anlama gelir?

#YOK, Excel'in aradığı değeri bulamadığını bildirme biçimidir ve çoğunlukla DÜŞEYARA, YATAYARA, KAÇINCI ve ÇAPRAZARA gibi arama fonksiyonlarında görülür. İngilizce Excel'de aynı hata #N/A olarak yazılır. Formülün yazımı genellikle doğrudur; sorun aranan değer ile tablo arasındadır.

Örneğin Elma, Armut ve Kiraz satırları olan bir stok listesinde "Muz" aratırsanız formül #YOK döndürür. Bu durumda hata bilgiyi doğru aktarır, çünkü Muz listede gerçekten yoktur.

Neden ortaya çıkar?

En yaygın neden, aranan değerin tabloda hiç bulunmamasıdır. Değer var gibi görünüp yine de #YOK alıyorsanız büyük ihtimalle biçim ya da boşluk farkı vardır: 1001 sayısı ile metin olarak girilmiş 1001 eşleşmez, "Elma " ile "Elma" da farklı değerlerdir.

Diğer nedenler formülün kurgusuyla ilgilidir. Aranan değer tablo dizisinin ilk sütununda değilse, yaklaşık eşleşmede aranan değer listedeki en küçük değerden küçükse ya da aralık formül kopyalanırken kaymışsa aynı hatayı görürsünüz.

Adım adım düzeltme

İlk iş, aranan değeri tablodan kopyalayıp formüle yapıştırmaktır; sonuç gelirse sorun yazımdadır. Sonra hizalamaya bakın. Excel varsayılan olarak sayıları sağa, metinleri sola yaslar ve bu fark çoğu zaman sorunu ele verir.

Boşluk şüphesi varsa aranan değeri KIRP içine alın, örneğin =DÜŞEYARA(KIRP(D2);A2:B4;2;YANLIŞ). Tablo aralığını $A$2:$B$4 gibi mutlak başvuruyla sabitlemek de kopyalama kaynaklı #YOK'ları önler.

Hatayı gizlemek ne zaman doğru olur?

Eksik değer beklenen bir durumsa hatayı EĞERYOKSA ile anlamlı bir değere çevirmek doğrudur. Sipariş listesindeki her ürün stok tablosunda olmayabilir; =EĞERYOKSA(DÜŞEYARA("Muz";A2:B4;2;YANLIŞ);0) bu durumda stok yok anlamında 0 döndürür.

EĞERHATA da benzer işi yapar ama bütün hata türlerini yakalar. Yanlış sütun numarası yüzünden oluşan #BAŞV! hatası da sessizce 0'a döner ve formüldeki gerçek sorunu fark etmezsiniz. Yalnız #YOK beklediğiniz yerde EĞERYOKSA'yı tercih edin.

Dosyanızdaki bütün hatalı hücreleri bulmak için Giriş sekmesindeki Bul ve Seç menüsünden Özel Git'i açın ve Formüller altında yalnız Hatalar seçeneğini işaretleyin. Ardından her #YOK hücresini yukarıdaki sırayla kontrol edin.

Örnekler

Örnek 1: Listede olmayan ürün #YOK üretir
ABCD
1ÜrünStok
2Elma120#N/A
3Armut80
4Kiraz45
=DÜŞEYARA("Muz";A2:B4;2;YANLIŞ)

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: #N/A

Muz, A sütununda yok. Tam eşleşme istendiği için formül #YOK (#N/A) döndürür.

Örnek 2: EĞERYOKSA ile 0 döndürme
ABCD
1ÜrünStok
2Elma1200
3Armut80
4Kiraz45
=EĞERYOKSA(DÜŞEYARA("Muz";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: 0

DÜŞEYARA yine #YOK üretir, ama EĞERYOKSA bu hatayı yakalar ve stok yok anlamında 0 yazar.

Örnek 3: EĞERHATA ile açıklayıcı mesaj
ABCD
1ÜrünStok
2Elma120Listede yok
3Armut80
4Kiraz45
=EĞERHATA(DÜŞEYARA("Muz";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

Hata yerine okura ne olduğunu anlatan bir metin gösterilir.

Örnek 4: Sondaki boşluğu KIRP ile temizleme
ABCD
1ÜrünStok
2Elma120120
3Armut80
4Kiraz45
=DÜŞEYARA(KIRP("Elma ");A2:B4;2;YANLIŞ)

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

Sonunda boşluk olan "Elma " doğrudan aranırsa eşleşmez. KIRP boşluğu siler, Elma bulunur ve stok değeri 120 gelir.

Örnek dosyayı indir.xlsx dosyası, ücretsiz · hatalı ve düzeltilmiş formüller yan yana

#YOK hatası veren fonksiyonlar

Sıkça Sorulan Sorular

#YOK ile #N/A aynı hata mı?

Evet. Türkçe Excel'de #YOK, İngilizce Excel'de #N/A olarak görünür. Dosyayı farklı dildeki bir Excel'de açtığınızda hata kodu o dile göre gösterilir.

#YOK hatası toplamı neden bozuyor?

TOPLA, aralıkta tek bir hata olsa bile sonucu hata olarak döndürür. Kaynak formülleri EĞERYOKSA ile 0'a çevirebilir ya da hataları yok sayabilen TOPLAMA fonksiyonunu kullanabilirsiniz.

EĞERHATA mı EĞERYOKSA mı kullanmalıyım?

Yalnız bulunamayan değerleri yakalamak istiyorsanız EĞERYOKSA daha güvenlidir. EĞERHATA #BAŞV! ve #DEĞER! gibi başka hataları da gizler ve formüldeki gerçek sorunu fark etmenizi zorlaştırır.