İçindekiler
Eğitimde Excel DÜŞEYARA'nın nasıl büyük/küçük harfe duyarlı hale getirileceği açıklanmakta, metin büyük/küçük harf ayrımı yapan diğer birkaç formül gösterilmekte ve her bir işlevin güçlü ve sınırlı yönlerine dikkat çekilmektedir.
Sanırım her Excel kullanıcısı, Excel'de dikey arama yapan işlevin ne olduğunu biliyordur. Doğru, DÜŞEYARA. Ancak, çok az kişi Excel'in DÜŞEYARA'sının büyük/küçük harfe duyarsız olduğunu, yani küçük ve BÜYÜK harfleri aynı karakterler olarak ele aldığını bilir.
İşte DÜŞEYARA'nın metin büyük/küçük harf ayrımını yapamadığını gösteren hızlı bir örnek. A2 hücresinde "bill" ve A4 hücresinde "Bill" olduğunu varsayalım. Aşağıdaki formül, arama dizisinde ilk sırada geldiği için "bill "i yakalayacak ve B2'den eşleşen bir değer döndürecektir.
=VLOOKUP("Bill", A2:B4, 2, FALSE)
Bu makalenin ilerleyen bölümlerinde, DÜŞEYARA'yı büyük/küçük harfe duyarlı hale getirmenin bir yolunu göstereceğim. Ayrıca Excel'de büyük/küçük harfe duyarlı eşleştirme yapabilen diğer birkaç işlevi de inceleyeceğiz.
Harfe duyarlı DÜŞEYARA formülü
Yukarıda belirtildiği gibi, normal bir DÜŞEYARA formülü harf büyüklüğünü tanımaz. Ancak, aşağıdaki örnekte gösterildiği gibi Excel DÜŞEYARA'yı harf büyüklüğüne duyarlı hale getirmenin bir yolu vardır.
Diyelim ki Ürün Kimlikleri Sorun, kimliklerin hem küçük hem de büyük harfler içermesidir. Örneğin, A4 (001Tvci3u) ve A5'teki (001Tvci3U) değerler yalnızca son karakter olan "u" ve "U" bakımından farklılık gösterir.
"001Tvci3 "ü ararken U " ile ilişkilendirildiğinde, standart bir DÜŞEYARA formülü "001Tvci3" ile ilişkilendirilen $90 çıktısını verir. u " çünkü "001Tvci3 "ten önce gelir. U "Ama sizin istediğiniz bu değil, değil mi?
=VLOOKUP(F2, A2:C7, 2, FALSE)
Excel'de büyük/küçük harfe duyarlı bir arama gerçekleştirmek için DÜŞEYARA, SEÇ ve KESİN işlevlerini birleştiririz:
VLOOKUP(TRUE, CHOOSE({1,2}, EXACT( lookup_value , lookup_array ), return_array ), 2, 0)Bu genel formül her durumda mükemmel bir şekilde çalışır. sağdan sola Normal bir DÜŞEYARA formülünün yapamayacağı bir şey. Bu basit ve zarif çözümü önerdiği için Pouriya'ya tebrikler!
Bizim durumumuzda, gerçek formüller aşağıdaki gibidir.
F3'te fiyatı çekmek için:
=VLOOKUP(TRUE, CHOOSE({1,2}, EXACT(F2, A2:A7), B2:B7), 2, FALSE)
Yorumu almak için F4:
=VLOOKUP(TRUE, CHOOSE({1,2}, EXACT(F2, A2:A7), C2:C7), 2, FALSE)
Not: Excel 365 dışındaki tüm Excel sürümlerinde, bu yalnızca bir dizi formülü olarak çalışır, bu nedenle doğru şekilde tamamlamak için Ctrl + Shift + Enter tuşlarına basmayı unutmayın. Excel 365'te, dinamik diziler için destek nedeniyle, normal bir formül olarak da çalışır.
Bu formül nasıl çalışır?
İşi yapan temel kısım, iç içe EXACT içeren CHOOSE formülüdür:
CHOOSE({1,2}, EXACT(F2, A2:A7), C2:C7)
Burada, EXACT fonksiyonu F2'deki değeri A2:A7'deki her bir değerle karşılaştırır ve harf büyük küçük harf dahil olmak üzere tamamen aynıysa TRUE, aksi takdirde FALSE döndürür:
{YANLIŞ;YANLIŞ;YANLIŞ;DOĞRU;YANLIŞ;YANLIŞ}
için index_num argümanında {1,2} dizi sabitini kullanırız. Sonuç olarak, fonksiyon yukarıdaki dizideki mantıksal değerleri ve C2:C7'deki değerleri aşağıdaki gibi iki boyutlu bir dizide birleştirir:
{FALSE,155;FALSE,186;FALSE,90;TRUE,54;FALSE,159;FALSE,28}
VLOOKUP işlevi buradan alır ve 2 boyutlu dizinin (mantıksal değerlerle temsil edilen) 1. sütununda arama değerini (TRUE olan) arar ve aradığımız fiyat olan 2. sütundan bir eşleşme döndürür:
VLOOKUP(TRUE, {FALSE,155;FALSE,186;FALSE,90;TRUE,54;FALSE,159;FALSE,28}, 2, 0)
Harfe duyarlı XLOOKUP formülü
Microsoft 365 aboneleri Excel'de daha basit bir formülle büyük/küçük harfe duyarlı arama yapabilirler. Tahmin edebileceğiniz gibi, DÜŞEYARA'nın daha güçlü bir halefi olan DÜŞEYARA işlevinden bahsediyorum.
XLOOKUP arama ve dönüş dizileri üzerinde ayrı ayrı çalıştığından, önceki örnekteki iki boyutlu dizi numarasına ihtiyacımız yoktur. lookup_array Tartışma:
XLOOKUP(TRUE, EXACT( lookup_value , lookup_array ), return_array , "Bulunamadı")Son bağımsız değişken ("Bulunamadı") isteğe bağlıdır. Sadece eşleşme bulunamazsa hangi değerin döndürüleceğini tanımlar. Bunu atlarsanız, formülün hiçbir şey bulamaması durumunda standart bir #N/A hatası döndürülür.
Örnek tablomuz için, bunlar kullanılacak büyük/küçük harfe duyarlı XLOOKUP formülleridir.
F3'te fiyatı almak için:
=XLOOKUP(TRUE, EXACT(F2, A2:A7), B2:B7, "Bulunamadı")
Yorumu çıkarmak için F4:
=XLOOKUP(TRUE, EXACT(F2, A2:A7), C2:C7, "Bulunamadı")
Bu formül nasıl çalışır?
Önceki örnekte olduğu gibi, EXACT TRUE ve FALSE değerlerinden oluşan bir dizi döndürür; burada TRUE büyük/küçük harfe duyarlı eşleşmeleri temsil eder. XLOOKUP yukarıdaki dizide TRUE değerini arar ve return_array Arama sütununda iki veya daha fazla tam olarak aynı değer varsa (harf durumu dahil), formülün bulunan ilk eşleşmeyi döndüreceğini lütfen unutmayın.
XLOOKUP sınırlaması : yalnızca Excel 365 ve Excel 2021'de kullanılabilir.
SUMPRODUCT - eşleşen sayıları döndürmek için büyük/küçük harfe duyarlı arama
Başlıktan da anlayacağınız gibi, SUMPRODUCT büyük/küçük harfe duyarlı arama yapabilen bir başka Excel işlevidir, ancak sayısal değerler Bu sizin durumunuz değilse, tüm veri türleri için bir çözüm sağlayan INDEX MATCH örneğine geçin.
Muhtemelen bildiğiniz gibi, Excel'in SUMPRODUCT işlevi belirtilen dizilerdeki bileşenleri çarpar ve ürünlerin toplamını döndürür. Büyük/küçük harfe duyarlı bir arama istediğimizden, ilk diziyi almak için EXACT işlevini kullanırız:
=SUMPRODUCT((EXACT(A2:A7,F2) * (B2:B7)))
Ne yazık ki, metin değerleri çarpılamadığı için SUMPRODUCT işlevi metin eşleşmelerini döndüremez. Bu durumda, aşağıdaki ekran görüntüsünde F4 hücresinde olduğu gibi bir #VALUE! hatası alırsınız:
Bu formül nasıl çalışır?
VLOOKUP örneğinde olduğu gibi, EXACT fonksiyonu F2'deki değeri A2:A7'deki tüm değerlerle karşılaştırır ve büyük/küçük harfe duyarlı eşleşmeler için TRUE, aksi takdirde FALSE döndürür:
SUMPRODUCT(({FALSE;FALSE;FALSE;TRUE;FALSE;FALSE}*{155;186;90;54;159;28}))
Çoğu formülde, Excel DOĞRU'yu 1 ve YANLIŞ'ı 0 olarak değerlendirir. Bu nedenle, SUMPRODUCT iki dizinin öğelerini aynı konumlarda çarptığında, eşleşmeyenlerin tümü (YANLIŞ) sıfır olur:
SUMPRODUCT({0;0;0;54;0;0})
Sonuç olarak formül, B sütunundan A sütunundaki tam büyük/küçük harfe duyarlı eşleşmeye karşılık gelen bir sayı döndürür.
SUMPRODUCT sınırlaması : yalnızca sayısal değerler döndürebilir.
INDEX MATCH - tüm veri türleri için büyük/küçük harfe duyarlı arama
Son olarak, tüm Excel sürümlerinde ve tüm veri kümelerinde çalışan, sınırlama olmaksızın büyük/küçük harfe duyarlı bir arama formülü elde etmeye çok yaklaştık.
Bu örnek sadece en iyisi en sona saklandığı için değil, aynı zamanda önceki örneklerde edindiğiniz bilgiler büyük/küçük harfe duyarlı MATCH INDEX formülünü daha iyi anlamanıza yardımcı olabileceği için en sonda yer almaktadır.
INDEX ve MATCH fonksiyonlarının kombinasyonu Excel'de genellikle DÜŞEYARA'ya daha esnek ve çok yönlü bir alternatif olarak kullanılır. Aşağıdaki makale bu iki fonksiyonun birlikte nasıl çalıştığını açıklayarak iyi bir iş çıkarmaktadır (umarım :) - DÜŞEYARA yerine INDEX MATCH kullanma.
Burada size sadece kilit noktaları hatırlatacağım:
- MATCH fonksiyonu, belirtilen lookup dizisinde lookup değerini arar ve göreli konumunu döndürür.
- Arama değerinin göreli konumu doğrudan row_num INDEX fonksiyonunun o satırdan bir değer döndürmesi talimatını veren argümanı.
Formülün metin durumunu tanıması için, klasik INDEX MATCH kombinasyonuna bir işlev daha eklemeniz gerekir. Açıkçası, yine EXACT işlevine ihtiyacınız var:
İNDEKS( return_array , MATCH(TRUE, EXACT( lookup_value , lookup_array ), 0))F3'teki gerçek formül şudur:
=INDEX(B2:B7, MATCH(TRUE, EXACT(A2:A7, F2), 0))
F4'te bunu kullanıyoruz:
=INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0))
Lütfen Excel 365 dışındaki tüm sürümlerde yalnızca dizi formülü olarak çalıştığını unutmayın, bu nedenle Ctrl + Shift + Enter tuşlarına birlikte basarak girdiğinizden emin olun. Doğru şekilde yapılırsa, formül aşağıdaki ekran görüntüsünde gösterildiği gibi küme parantezleri içine alınacaktır:
Bu formül nasıl çalışır?
Önceki tüm örneklerde olduğu gibi, EXACT, A2:A7'de F2'deki değerle tam olarak eşleşen her değer için TRUE döndürür. lookup_value eşleşmesinin göreli konumunu döndürür, bu da INDEX'in B2:B7 arasında bir eşleşme döndürmek için tam olarak ihtiyaç duyduğu şeydir.
Gelişmiş büyük/küçük harfe duyarlı arama formülü
Yukarıda bahsedilen INDEX MATCH formülü mükemmel görünüyor, değil mi? Ama aslında değil. Size nedenini göstereyim.
Dönüş sütununda arama değerine karşılık gelen bir hücrenin boş olduğunu varsayalım. Formül ne döndürür? Hiçbir şey. Şimdi de gerçekte ne döndürdüğüne bakalım:
=INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0))
Oops, formül bir sıfır döndürüyor! Belki, yalnızca metin değerleriyle uğraşırken gerçekten önemli değildir. Ancak, çalışma sayfanız sayılar içeriyorsa ve bunlardan bazıları gerçek sıfırlarsa, bu bir sorundur.
Gerçekte, daha önce tartışılan diğer tüm arama formülleri aynı şekilde davranır. Ama şimdi kusursuz bir formül istiyorsunuz, değil mi?
Büyük/küçük harfe duyarlı INDEX MATCH formülünü kesinlikle mükemmel hale getirmek için, bunu bir dönüş hücresinin boş olup olmadığını kontrol eden ve bu durumda hiçbir şey döndürmeyen IF işlevine sararsınız:
=IF(INDIRECT("C"&(1+MATCH(TRUE,EXACT(A2:A7, F2), 0))"", INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0)), "")
Yukarıdaki formülde:
- "C" dönüş sütunudur.
- "1", bir "1 "i "1 "e çeviren sayıdır. göreli konum MATCH işlevi tarafından döndürülen hücrenin gerçek hücre adresi .
Örneğin, MATCH işlevimizdeki arama dizisi A2:A7 şeklindedir, yani A2 hücresinin göreli konumu "1 "dir, çünkü bu dizideki ilk hücredir. Ancak gerçekte, arama dizisi 2. satırda başlar. Farkı telafi etmek için 1 ekleriz, böylece INDIRECT işlevi sağ hücreden bir değer döndürür.
Aşağıdaki ekran görüntüleri, geliştirilmiş büyük/küçük harfe duyarlı INDEX MATCH formülünü iş başında göstermektedir.
Dönüş hücresi boşsa, formül hiçbir şey (boş bir dize) çıktısı vermez:
Dönüş hücresi sıfır içeriyorsa, formül 0 döndürür:
Bir dönüş hücresi boş olduğunda bir mesaj görüntülemeyi tercih ederseniz, IF'nin son bağımsız değişkenindeki boş bir dizeyi ("") bir metinle değiştirin:
=IF(INDIRECT("C"&(1+MATCH(TRUE, EXACT(A2:A7, F2), 0))"", INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0)), "Dönecek bir şey yok, üzgünüm.")
Büyük/küçük harfe duyarlı DÜŞEYARA'yı kolay bir şekilde yapın
Ultimate Suite for Excel kullanıcılarımız, büyük ve karmaşık tablolarda arama yapmayı daha kolay ve stressiz hale getiren özel bir araca sahiptir. En iyi şey, İki Tabloyu Birleştir'in büyük/küçük harfe duyarlı bir seçeneğe sahip olmasıdır ve aşağıdaki örnek bunu iş başında göstermektedir.
Qty'yi çekmek istediğinizi varsayalım. Arama tablosuna Ana tablosunu benzersiz Öğe Kimliklerini temel alarak oluşturun:
Yapmanız gereken, Tabloları Birleştir sihirbazını çalıştırmak ve aşağıdaki adımları gerçekleştirmektir:
- Yeni verilerin çekileceği ana tabloyu seçin.
- Yeni verilerin aranacağı arama tablosunu seçin.
- Bir veya daha fazla anahtar sütun seçin (bizim durumumuzda Öğe Kimliği). Harfe duyarlı eşleştirme Kutu.
Bir dakika sonra istediğiniz sonucu alacaksınız :)
Metin durumunu dikkate alarak Excel'de nasıl arama yapılacağı bu şekilde açıklanmıştır. Okuduğunuz için teşekkür eder, gelecek hafta blogumuzda görüşmek dileğiyle!
İndirmek için pratik çalışma kitabı
Harfe duyarlı DÜŞEYARA örnekleri (.xlsx dosyası)