Excel IFERROR & DÜŞEYARA - #N/A ve diğer hataları yakalama

  • Bunu Paylaş
Michael Brown

Bu eğitimde, farklı hataları yakalamak ve işlemek için IFERROR ve DÜŞEYARA işlevlerini birlikte nasıl kullanacağımızı inceleyeceğiz. Ayrıca, birden çok IFERROR işlevini birbiri üzerine yerleştirerek Excel'de sıralı vlookup'ların nasıl yapılacağını öğreneceksiniz.

Excel DÜŞEYARA ve EĞERHATA - bu iki işlevi, birleştirildiklerinde bir yana, ayrı ayrı anlamak bile oldukça zor olabilir. Bu makalede, yaygın kullanımları ele alan ve formüllerin mantığını açıkça gösteren, takip etmesi kolay birkaç örnek bulacaksınız.

EĞERHATA ve DÜŞEYARA işlevleriyle ilgili fazla deneyiminiz yoksa, yukarıdaki bağlantıları izleyerek önce bunların temellerini gözden geçirmek iyi bir fikir olabilir.

    IFERROR #N/A ve diğer hataları işlemek için DÜŞEYARA formülü

    Excel Vlookup bir arama değeri bulamadığında, aşağıdaki gibi bir #N/A hatası verir:

    İş gereksinimlerinize bağlı olarak, hatayı kendi metninizle, sıfırla veya boş bir hücreyle gizlemek isteyebilirsiniz.

    Örnek 1. Hataları kendi metninizle değiştirmek için VLOOKUP formüllü EĞERHATA

    Standart hata gösterimini özel metninizle değiştirmek isterseniz, DÜŞEYARA formülünüzü EĞERHATA'ya sarın ve 2. bağımsız değişkene istediğiniz metni yazın ( value_if_error ), örneğin "Bulunamadı":

    IFERROR(VLOOKUP( ... ), "Bulunamadı")

    Ana tabloda B2'deki arama değeri ve Arama tablosundaki A2:B4 arama aralığı ile formül aşağıdaki şekli alır:

    =IFERROR(VLOOKUP(B2,'Lookup table'!$A$2:$B$5, 2, FALSE), "Not found")

    Aşağıdaki ekran görüntüsü Excel EĞERHATA DÜŞEYARA formülümüzü iş başında göstermektedir:

    Sonuç çok daha anlaşılır ve çok daha az korkutucu görünüyor, değil mi?

    Benzer şekilde, INDEX MATCH öğesini IFERROR ile birlikte kullanabilirsiniz:

    =IFERROR(INDEX('Lookup table'!$B$2:$B$5,MATCH(B2,'Lookup table'!$A$2:$A$5,0)), "Not found")

    IFERROR INDEX MATCH formülü, özellikle arama sütununun solundaki bir sütundan değerleri çekmek (sol arama) ve hiçbir şey bulunamadığında kendi metninizi döndürmek istediğinizde kullanışlıdır.

    Örnek 2. Hiçbir şey bulunamazsa boş veya 0 döndürmek için VLOOKUP ile IFERROR

    Arama değeri bulunamadığında hiçbir şey göstermek istemiyorsanız, IFERROR'un bir boş dize (""):

    IFERROR(VLOOKUP( ... ),"")

    Örneğimizde formül aşağıdaki gibidir:

    =IFERROR(VLOOKUP(B2,'Lookup table'!$A$2:$B$5, 2, FALSE), "")

    Gördüğünüz gibi, arama değeri arama listesinde olmadığında hiçbir şey döndürmez.

    Hatayı şu şekilde değiştirmek isterseniz sıfır değer son bağımsız değişkene 0 koyun:

    =IFERROR(VLOOKUP(B2,'Lookup table'!$A$2:$B$5, 2, FALSE), 0)

    Dikkatli olun! Excel IFERROR işlevi yalnızca #N/A değil, her türlü hatayı yakalar. İyi mi kötü mü? Her şey amacınıza bağlıdır. Tüm olası hataları maskelemek istiyorsanız, IFERROR Vlookup gitmenin yoludur. Ancak birçok durumda akıllıca olmayan bir teknik olabilir.

    Örneğin, tablo verileriniz için adlandırılmış bir aralık oluşturduysanız ve Vlookup formülünüzde bu adı yanlış yazdıysanız, IFERROR bir #NAME? hatası yakalayacak ve bunu "Not found" (bulunamadı) veya sağladığınız başka bir metinle değiştirecektir. Sonuç olarak, yazım hatasını kendiniz fark etmediğiniz sürece formülünüzün yanlış sonuçlar verdiğini asla bilemeyebilirsiniz. Böyle bir durumda, yalnızca #N/A hatalarını yakalamak daha makul bir yaklaşım olacaktır.Bunun için Excel 2013 ve üzeri sürümlerde IFNA Vlookup formülünü, tüm Excel sürümlerinde IF ISNA VLOOKUP formülünü kullanın.

    Sonuç olarak: DÜŞEYARA formülünüz için bir yardımcı seçerken çok dikkatli olun :)

    Her zaman bir şey bulmak için DÜŞEYARA içinde IFERROR yerleştirin

    Şu durumu hayal edin: bir listede belirli bir değeri arıyorsunuz ve bulamıyorsunuz. Ne gibi seçenekleriniz var? Ya N/A hatası alacaksınız ya da kendi mesajınızı göstereceksiniz. Aslında üçüncü bir seçenek daha var - birincil vlookup'ınız tökezlerse, kesinlikle orada olan başka bir şey arayın!

    Örneğimizi daha da ileri götürerek, kullanıcılarımız için onlara belirli bir ofisin dahili numarasını gösterecek bir tür gösterge tablosu oluşturalım. Bunun gibi bir şey:

    Peki, D2'deki ofis numarasına göre B sütunundan dahili numarayı nasıl çekersiniz? Bu normal Vlookup formülü ile:

    =VLOOKUP($D$2,$A$2:$B$7,2,FALSE)

    Ve kullanıcılarınız D2'ye geçerli bir numara girdiği sürece güzel bir şekilde çalışacaktır. Peki ya bir kullanıcı mevcut olmayan bir numara girerse? Bu durumda, merkez ofisi aramalarına izin verin! Bunun için yukarıdaki formülü değer argümanını IFERROR olarak değiştirin ve başka bir Vlookup'ı value_if_error Tartışma.

    Formülün tamamı biraz uzun ama mükemmel çalışıyor:

    =IFERROR(VLOOKUP("ofis"&$D$2,$A$2:$B$7,2,FALSE),VLOOKUP("merkez ofis",$A$2:$B$7,2,FALSE))

    Ofis numarası bulunursa, kullanıcı ilgili dahili numarayı alır:

    Ofis numarası bulunamazsa, merkez ofis dahili numarası görüntülenir:

    Formülü biraz daha kompakt hale getirmek için farklı bir yaklaşım kullanabilirsiniz:

    İlk olarak, D2'deki sayının arama sütununda bulunup bulunmadığını kontrol edin (lütfen col_index_num formülün A sütunundan değer araması ve döndürmesi için 1'e): DÜŞEYARA(D2,$A$2:$B$7,1,YANLIŞ)

    Belirtilen ofis numarası bulunamazsa, arama listesinde kesinlikle bulunan "merkez ofis" dizesini ararız. Bunun için, ilk DÜŞEYARA'yı EĞERHATA'ya sarar ve tüm bu kombinasyonu başka bir DÜŞEYARA işlevinin içine yerleştirirsiniz:

    =VLOOKUP(IFERROR(VLOOKUP(D2,$A$2:$B$7,1,FALSE), "merkez ofis"),$A$2:$B$7,2)

    Biraz farklı bir formül, aynı sonuç:

    Ama "merkez ofis "i aramanın nedeni nedir diye sorabilirsiniz. Neden dahili numarayı doğrudan EĞERHATA'da vermiyorsunuz? Çünkü dahili numara gelecekte bir noktada değişebilir. Böyle bir durumda, DÜŞEYARA formüllerinizin her birini güncellemekle uğraşmadan verilerinizi kaynak tabloda yalnızca bir kez güncellemeniz gerekecektir.

    Excel'de sıralı DÜŞEYARA nasıl yapılır

    Söz konusu işlemi gerçekleştirmeniz gereken durumlarda sıralı veya zincirlenmiş Excel'deki Vlookup'lar, önceki bir aramanın başarılı veya başarısız olmasına bağlı olarak, Vlookup'larınızı tek tek çalıştırmak için iki veya daha fazla IFERROR işlevi yerleştirir:

    IFERROR(VLOOKUP( ... ), IFERROR(VLOOKUP( ... ), IFERROR(VLOOKUP( ... ), "Bulunamadı")))

    Formül aşağıdaki mantıkla çalışır:

    İlk DÜŞEYARA hiçbir şey bulamazsa, ilk EĞERHATA bir hata yakalar ve başka bir DÜŞEYARA çalıştırır. İkinci DÜŞEYARA başarısız olursa, ikinci EĞERHATA bir hata yakalar ve üçüncü DÜŞEYARA'yı çalıştırır ve bu böyle devam eder. Tüm DÜŞEYARA'lar tökezlerse, son EĞERHATA mesajınızı döndürür.

    Bu iç içe IFERROR formülü, özellikle Vlookup'a ihtiyaç duyduğunuzda kullanışlıdır çoklu sayfalar aşağıdaki örnekte gösterildiği gibi.

    Diyelim ki, üç farklı çalışma sayfasında homojen verilerden oluşan üç listeniz var (bu örnekte ofis numaraları) ve belirli bir numara için bir uzantı almak istiyorsunuz.

    Arama değerinin geçerli sayfadaki A2 hücresinde olduğunu ve arama aralığının 3 farklı çalışma sayfasında (Kuzey, Güney ve Batı) A2:B5 olduğunu varsayarsak, aşağıdaki formül işe yarar:

    =IFERROR(VLOOKUP(A2,North!$A$2:$B$5,2,FALSE), IFERROR(VLOOKUP(A2,South!$A$2:$B$5,2,FALSE), IFERROR(VLOOKUP(A2,West!$A$2:$B$5,2,FALSE), "Not found"))

    Böylece, "zincirleme Vlookup'lar" formülümüz üç farklı sayfada onları formülde iç içe yerleştirdiğimiz sırayla arama yapar ve bulduğu ilk eşleşmeyi getirir:

    Excel'de DÜŞEYARA ile EĞERHATA'yı bu şekilde kullanabilirsiniz. Okuduğunuz için teşekkür ediyor ve gelecek hafta blogumuzda görüşmeyi umuyorum!

    Mevcut indirmeler

    Excel EĞERHATA DÜŞEYARA formülü örnekleri

    Michael Brown, yazılım araçlarını kullanarak karmaşık süreçleri basitleştirme tutkusuna sahip, kendini adamış bir teknoloji meraklısıdır. Teknoloji endüstrisinde on yılı aşkın deneyimiyle Microsoft Excel ve Outlook'un yanı sıra Google E-Tablolar ve Dokümanlar'daki becerilerini geliştirdi. Michael'ın blogu, bilgisini ve uzmanlığını başkalarıyla paylaşmaya, üretkenliği ve verimliliği artırmaya yönelik takip etmesi kolay ipuçları ve eğitimler sağlamaya adamıştır. İster deneyimli bir profesyonel, ister yeni başlayan olun, Michael'ın blogu, bu temel yazılım araçlarından en iyi şekilde yararlanmak için değerli bilgiler ve pratik tavsiyeler sunar.