İçindekiler
DÜŞEYARA'nız yanlış verileri mi çekiyor veya hiç çalışmasını sağlayamıyor musunuz? Bu eğitim, yaygın DÜŞEYARA hatalarını nasıl hızlı bir şekilde düzeltebileceğinizi ve ana sınırlamalarının üstesinden nasıl gelebileceğinizi gösterir.
Daha önceki birkaç makalede Excel DÜŞEYARA işlevinin farklı yönlerini incelemiştik. Bizi yakından takip ediyorsanız, şimdiye kadar bu alanda uzmanlaşmış olmalısınız :)
Bununla birlikte, birçok Excel uzmanının DÜŞEYARA'yı en karmaşık Excel işlevlerinden biri olarak görmesi sebepsiz değildir. Çeşitli sorunların ve hataların kaynağı olan bir ton sınırlaması vardır.
Bu makalede, #N/A, #NAME ve #VALUE gibi DÜŞEYARA hatalarının ana nedenlerinin basit açıklamalarının yanı sıra çözümlerini ve düzeltmelerini bulacaksınız. DÜŞEYARA'nın çalışmamasının en belirgin nedenleriyle başlayacağız, bu nedenle aşağıdaki sorun giderme adımlarına sırasıyla göz atmak iyi bir fikir olabilir.
DÜŞEYARA'da #N/A hatasını düzeltme
DÜŞEYARA formüllerinde, Excel bir arama değeri bulamadığında #N/A hata mesajı ("mevcut değil" anlamına gelir) görüntülenir. Bunun olmasının birkaç nedeni olabilir.
1. Arama değeri yanlış yazılmıştır
İlk önce en belirgin şeyi kontrol etmek her zaman iyi bir fikirdir : ) Binlerce satırdan oluşan gerçekten büyük veri kümeleriyle çalışırken veya doğrudan formüle bir arama değeri yazıldığında yanlış baskılar sıklıkla ortaya çıkar.
2. Yaklaşık eşleşme DÜŞEYARA'da #N/A
Formülünüz en yakın eşleşmeyi ararsa, ( range_lookup argümanı TRUE olarak ayarlandığında veya atlandığında), #N/A hatası iki durumda ortaya çıkabilir:
- Arama değeri, arama dizisindeki en küçük değerden daha küçüktür.
- Arama sütunu artan sırada sıralanmamıştır.
3. Tam eşleşen DÜŞEYARA'da #N/A
Eğer tam eşleşme arıyorsanız ( range_lookup bağımsız değişkeni FALSE olarak ayarlandığında), arama değerine tam olarak eşit bir değer bulunamadığında #N/A hatası oluşur. Daha fazla bilgi için DÜŞEYARA tam eşleşme vs. yaklaşık eşleşme bölümüne bakın.
4. Arama sütunu tablo dizisinin en sol sütunu değildir
Excel DÜŞEYARA'nın en önemli sınırlamalarından biri soluna bakamamasıdır. Sonuç olarak, bir arama sütunu her zaman en soldaki sütun Pratikte bunu sık sık unuturuz ve #N/A hatalarıyla karşılaşırız.
Çözüm : Verilerinizi, arama sütunu en soldaki sütun olacak şekilde yeniden yapılandırmanız mümkün değilse, DÜŞEYARA'ya alternatif olarak INDEX ve MATCH işlevlerini birlikte kullanabilirsiniz. İşte bir formül örneği: INDEX MATCH sola doğru değerleri aramak için formül.
5. Sayılar metin olarak biçimlendirilir
DÜŞEYARA formüllerindeki bir diğer yaygın #N/A hata kaynağı, ana veya arama tablosunda metin olarak biçimlendirilen sayılardır.
Bu genellikle harici bir veritabanından veri içe aktardığınızda veya baştaki sıfırları göstermek için bir sayıdan önce kesme işareti yazdığınızda ortaya çıkar.
Metin olarak biçimlendirilmiş sayıların en belirgin göstergeleri şunlardır:
Çözüm: Tüm sorunlu numaraları seçin, hata simgesine tıklayın ve Sayıya Dönüştür Daha fazla bilgi için lütfen Excel'de metni sayıya dönüştürme bölümüne bakın.
6. Baştaki veya sondaki boşluklar
Bu, DÜŞEYARA #N/A hatasının en az belirgin nedenidir çünkü bir insan gözü, özellikle girişlerin çoğunun kaydırmanın altında olduğu büyük veri kümeleriyle çalışırken bu ekstra boşlukları zorlukla fark edebilir.
Çözüm 1: Arama değerinde fazladan boşluklar
DÜŞEYARA formülünüzün doğru çalışmasını sağlamak için, arama değerini TRIM işlevine sarın:
=VLOOKUP(TRIM(E1), A2:C10, 2, FALSE)
Çözüm 2: Arama sütununda fazladan boşluklar
Arama sütununda fazladan boşluk oluşursa, DÜŞEYARA'da #N/A hatalarını önlemenin kolay bir yolu yoktur. Bunun yerine, dizi formülü olarak INDEX, MATCH ve TRIM işlevlerinin bir kombinasyonunu kullanabilirsiniz:
=INDEX(B2:B10, MATCH(TRUE, TRIM(A$2:A$10)=TRIM(E1), 0))
Bu bir dizi formülü olduğundan, düzgün bir şekilde tamamlamak için Ctrl + Shift + Enter tuşlarına basmayı unutmayın (dizilerin yerel olduğu Excel 365 ve Excel 2021'de, bu normal bir formül olarak da çalışır).
İpucu: Hızlı bir alternatif olarak, hem arama hem de ana tablolardaki fazla boşlukları saniyeler içinde ortadan kaldırarak DÜŞEYARA formüllerinizi hatasız hale getirecek olan Boşlukları Kırp aracını çalıştırabilirsiniz.
VLOOKUP formüllerinde #DEĞER! hatası
Genel olarak, formülde kullanılan bir değer yanlış veri türündeyse Microsoft Excel #VALUE! hatasını görüntüler. DÜŞEYARA ile ilgili olarak, VALUE! hatasının iki yaygın kaynağı vardır.
1. Arama değeri 255 karakteri aşıyor
Lütfen DÜŞEYARA'nın 255'ten fazla karakter içeren değerleri arayamayacağını unutmayın. Arama değerleriniz bu sınırı aşarsa, bir #VALUE! hatası görüntülenecektir:
Çözüm : Bunun yerine bir INDEX MATCH formülü kullanın. Bizim durumumuzda bu formül mükemmel çalışıyor:
=INDEX(B2:B7, MATCH(TRUE, INDEX(A2:A7= E1, 0), 0))
2. Arama çalışma kitabının tam yolu sağlanmamıştır
Başka bir çalışma kitabından veri çekiyorsanız, çalışma kitabının tam yolunu eklemeniz gerekir. Daha açık bir ifadeyle, uzantı dahil olmak üzere çalışma kitabının adını [köşeli parantez] içine almanız ve ardından ünlem işaretiyle birlikte sayfanın adını belirtmeniz gerekir. Çalışma kitabı adı veya sayfa adı ya da her ikisi de boşluk veya alfabetik olmayan karakterler içeriyorsa, yol tek tırnak işareti içine alınmalıdır.
İşte şu yapı table_array başka bir çalışma kitabından Vlookup'a argüman:
'[çalışma kitabı adı]sayfa adı'!aralık
Gerçek bir formül buna benzer görünebilir:
=VLOOKUP($A$2,'[Yeni Fiyatlar.xls]Sayfa1'!$B:$D, 3, FALSE)
Yukarıdaki formül, Sayfa1'in B sütununda A2 değerini arayacaktır. Yeni Fiyatlar çalışma kitabına gidin ve D sütunundan eşleşen bir değer döndürün.
Yolun herhangi bir öğesi eksikse, DÜŞEYARA formülünüz çalışmaz ve #DEĞER hatası döndürür (arama çalışma kitabı o anda açık değilse).
Daha fazla bilgi için lütfen bkz:
- Excel'de başka bir sayfaya veya çalışma kitabına nasıl başvurulur?
- Farklı bir çalışma kitabından Vlookup nasıl yapılır
3. col_index_num bağımsız değişkeni 1'den küçüktür
Birinin değer döndürülecek sütunu belirtmek için kasıtlı olarak 1'den küçük bir sayı girdiği bir durumu hayal etmek zordur. Ancak bu bağımsız değişken, DÜŞEYARA formülünüzde yuvalanmış başka bir işlev tarafından döndürülüyorsa bu olabilir.
Yani, eğer col_index_num bağımsız değişkeni 1'den büyükse, formülünüz de #DEĞER! hatası döndürür.
Eğer col_index_num tablo dizisindeki sütun sayısından büyükse, DÜŞEYARA #REF! hatası üretir.
DÜŞEYARA #ADI hatasını çözme
Bu en kolay durumdur - işlevin adını yanlışlıkla yanlış yazdıysanız #NAME? hatası görünür.
Çözüm çok açık - yazımı kontrol edin :)
Excel DÜŞEYARA'daki hataların ana nedenleri
Oldukça karmaşık bir sözdizimine sahip olmasının yanı sıra, DÜŞEYARA diğer Excel işlevlerinden muhtemelen daha fazla sınırlamaya sahiptir. Bu sınırlamalar nedeniyle, görünüşte doğru olan bir formül genellikle beklediğinizden farklı sonuçlar verebilir. Aşağıda DÜŞEYARA'nın başarısız olduğu birkaç tipik senaryo için çözümler bulacaksınız.
VLOOKUP büyük/küçük harfe duyarsızdır
DÜŞEYARA işlevi harf büyüklüğünü ayırt etmez ve küçük ve büyük harf karakterlerini aynı olarak kabul eder.
Çözüm : Metin büyük/küçük harf eşleştirmesi yapabilen EXACT işlevi ile birlikte DÜŞEYARA, DÜŞEYARA veya DİZİN EŞLEŞTİRME kullanın. Ayrıntılı açıklamaları ve formül örneklerini şu eğitimde bulabilirsiniz: Excel'de büyük/küçük harfe duyarlı Vlookup yapmanın 5 yolu.
Tabloya yeni bir sütun eklenmiş veya çıkarılmıştır
Ne yazık ki, DÜŞEYARA formülleri, arama tablosundan yeni bir sütun silindiğinde veya bu tabloya yeni bir sütun eklendiğinde her seferinde çalışmayı durdurur. Bunun nedeni, DÜŞEYARA işlevinin sözdiziminin dönüş sütununun dizin numarasını tanımlamayı gerektirmesidir. Tablo dizisine yeni bir sütun eklendiğinde/çıkarıldığında, bu dizin numarasının değiştiği açıktır.
Çözüm : INDEX MATCH formülü yine imdadınıza yetişiyor : ) INDEX MATCH ile, arama ve dönüş aralıklarını ayrı ayrı belirlersiniz, böylece ilişkili her formülü güncelleme endişesi olmadan istediğiniz kadar sütun silebilir veya ekleyebilirsiniz.
Formül diğer hücrelere kopyalanırken hücre referansları değişir
Başlık, sorunun kapsamlı bir açıklamasını veriyor, değil mi?
Çözüm için her zaman mutlak referanslar ($ işareti ile) kullanın. table_array argümanı, örneğin $A$2:$C$100 veya $A:$C. F4 tuşuna basarak farklı referans türleri arasında hızlıca geçiş yapabilirsiniz.
VLOOKUP ilk bulunan değeri döndürür
Bildiğiniz gibi, Excel DÜŞEYARA bulduğu ilk değeri döndürür. Ancak, 2., 3., 4. veya istediğiniz başka bir oluşumu getirmeye zorlayabilirsiniz. Son eşleşmeyi veya bulunan tüm eşleşmeleri almanın bir yolu da vardır.
Çözümler : Formül örneklerine buradan ulaşabilirsiniz:
- VLOOKUP ve N'inci oluşumu döndürür
- DÜŞEYARA çoklu değerler
- Son eşleşmeyi almak için XLOOKUP formülü
DÜŞEYARA neden bazı hücreler için çalışıyor ama diğerleri için çalışmıyor?
DÜŞEYARA formülünüz bazı hücrelerde doğru verileri döndürürken diğerlerinde #YOK hatası veriyorsa, bunun birkaç olası nedeni olabilir.
1. Tablo dizisi kilitli değil
Bu formülü 2. satırda (örneğin E2'de) kullandığınızı varsayalım:
=VLOOKUP(D2, A2:B10, 2, FALSE)
Satır 3'e kopyalandığında formül şu şekilde değişir:
=VLOOKUP(D3, A3:B11, 2, FALSE)
için göreli bir referans kullanıldığından table_array formülün kopyalandığı satırın göreli konumuna göre değişir, bizim durumumuzda A2:B10'dan A3:B11'e. Yani, eşleşme 2. satırdaysa, bulunamaz!
Çözüm : Birden fazla hücre için DÜŞEYARA formülü kullanırken, her zaman tablo dizisini kilitleyin A$2:B$10 gibi $ işareti ile referans.
2. Metin değerleri veya veri türleri eşleşmiyor
DÜŞEYARA başarısızlığının bir diğer yaygın nedeni, arama değeriniz ile arama sütunundaki benzer bir değer arasındaki farktır. Bazı durumlarda, fark o kadar incedir ki görsel olarak fark edilmesi zordur.
Çözüm : DÜŞEYARA, arama sütununda arama değerini açıkça görebilmenize rağmen #YOK hatası döndürüyorsa ve görünüşe göre her ikisi de tamamen aynı şekilde yazılıyorsa, yapmanız gereken ilk şey sorunun temel nedenini belirlemektir - formül veya kaynak veri.
İki değerin aynı mı yoksa farklı mı olduğunu görmek için bu şekilde doğrudan bir karşılaştırma yapın:
=E1=A4
Burada E1 sizin arama değeriniz ve A4 de arama sütunundaki aynı değerdir.
Formül YANLIŞ döndürürse, değerler tamamen aynı görünmelerine rağmen bir şekilde farklı oldukları anlamına gelir.
Bu durumda sayısal değerler Bunun en olası nedeni metin olarak biçimlendirilmiş sayılardır.
Bu durumda metin değerleri Bunu doğrulamak için, LEN işlevini kullanarak iki dizenin toplam uzunluğunu bulun:
=LEN(E1)
=LEN(A4)
Ortaya çıkan sayılar farklıysa (aşağıdaki ekran görüntüsünde olduğu gibi), suçluyu tespit etmişsiniz demektir - fazladan boşluklar:
Sorunu çözmek için ya fazladan boşlukları kaldırın ya da geçici çözüm olarak bu INDEX MATCH TRIM formülünü kullanın.
DÜŞEYARA neden yanlış verileri çekiyor?
DÜŞEYARA'nızın yanlış bir değer döndürmesinin daha da fazla nedeni olabilir:
- Yanlış arama modu . Tam bir eşleşme istiyorsanız, şu ayarı yaptığınızdan emin olun range_lookup Varsayılan değer TRUE olduğundan, bu argümanı atlarsanız, DÜŞEYARA yaklaşık bir eşleşme aradığınızı varsayar ve arama değerinden daha küçük olan en yakın değeri arar.
- Arama sütunu sıralanmamış . Yaklaşık eşleşme için DÜŞEYARA ( range_lookup TRUE olarak ayarlandığında) doğru çalışması için, tablo dizisindeki ilk sütun en küçükten en büyüğe doğru artan sırada sıralanmalıdır.
- Arama sütunundaki kopyalar Arama sütunu iki veya daha fazla yinelenen değer içeriyorsa, DÜŞEYARA ilk bulunan eşleşmeyi döndürür; bu eşleşme beklediğiniz eşleşme olmayabilir.
- Yanlış dönüş sütunu . 3. bağımsız değişkendeki dizin numarasını iki kez kontrol edin :)
VLOOKUP iki sayfa arasında çalışmıyor
Öncelikle, yukarıda tartışılan #N/A, #VALUE ve #REF hatalarının yaygın nedenlerinin başka bir sayfadan bakarken de aynı sorunlara neden olabileceği unutulmamalıdır. Durum böyle değilse, aşağıdaki noktalara göz atın:
- Başka bir sayfaya veya farklı bir çalışma kitabına yapılan dış referansın doğru olduğundan emin olun.
- Başka bir çalışma kitabından Vlookup yaparken kapalı şu anda, formülünüzün kapalı çalışma kitabının tam yolunu içerdiğini doğrulayın.
- Eğer DÜŞEYARA başka bir çalışma sayfasındaki tablo dizisi seçilemiyor (yani, arama sayfasında bir aralığı vurguladığınızda, arama sayfasında hiçbir şey görünmez. table_array formüldeki veya formül sihirbazının ilgili kutusundaki argüman), büyük olasılıkla iki sayfa Excel'in ayrı örneklerinde açıktır ve birbirleriyle iletişim kuramazlar. Daha fazla bilgi için lütfen Hangi Excel dosyalarının hangi örnekte olduğunu belirleme bölümüne bakın. Bunu düzeltmek için, tüm Excel pencerelerini kapatın ve ardından sayfaları/çalışma kitaplarını aynı örnekte yeniden açın (varsayılan davranış).
Excel'de hatasız Vlookup nasıl yapılır
Kullanıcılarınızı standart Excel hata gösterimleriyle korkutmak istemiyorsanız, bunun yerine kendi kullanıcı dostu metninizi görüntüleyebilir veya hiçbir şey bulunamazsa boş bir hücre döndürebilirsiniz. Bu, DÜŞEYARA ile EĞERHATA veya EĞERNA işlevi kullanılarak yapılabilir.
Tüm hataları yakalayın
Excel 2007 ve sonraki sürümlerde, bir DÜŞEYARA formülünde hata olup olmadığını denetlemek ve aşağıdaki durumlarda kendi metninizi (veya boş bir dize) döndürmek için EĞERHATA işlevini kullanabilirsiniz herhangi bir hata tespit edildi.
Örneğin:
=IFERROR(VLOOKUP(E1, A2:B10, 2, FALSE), "Oops, something went wrong")
Excel 2003 ve önceki sürümlerde, aynı amaç için IF ISERROR formülünü kullanabilirsiniz:
=IF(ISERROR(VLOOKUP(E1, A2:B10, 2, FALSE)), "Oops, something went wrong", VLOOKUP(E1, A2:B10, 2, FALSE))
Daha fazla ayrıntı için lütfen Excel'de DÜŞEYARA ile EĞERHATA Kullanma bölümüne bakın.
N/A hatalarını ele alın
Diğer tüm hata türlerini yok sayarak yalnızca #N/A hatalarını yakalamak için IFNA işlevini (Excel 2013 ve üzeri sürümlerde) veya IF ISNA formülünü (tüm sürümlerde) kullanın.
Örneğin:
=IFNA(VLOOKUP(E1, A2:B10, 2, FALSE), "Oops, eşleşme bulunamadı. Lütfen tekrar deneyin!")
=IF(ISNA(DÜŞEYARA(E1, A2:B10, 2, YANLIŞ)), "Oops, eşleşme bulunamadı. Lütfen tekrar deneyin!", DÜŞEYARA(E1, A2:B10, 2, YANLIŞ))
Umarım bu eğitim DÜŞEYARA hatalarından kurtulmanıza ve formüllerinizin istediğiniz şekilde çalışmasına yardımcı olur.