Bir listedeki hücreye karşı ilk eşleşen değeri al
Diyelim ki, bir anahtar kelime listesi var ve belirli bir hücrede görünen ilk anahtar kelimeyi almak istiyorsunuz, ancak hücre birkaç farklı değer içeriyor. Bu durumda INDEX ve MATCH formüllerini AGGREGATE ve SEARCH fonksiyonlarının yardımıyla kullanmanız gerekecek.
Bir listedeki hücreye karşı ilk eşleşen değeri nasıl alırız?
Yukarıdaki tabloda gösterilen Anahtar Kelimeler listesine göre bir hücredeki ilk eşleşen anahtar kelimeyi almak için tam eşleşme yerine bir içerme eşleşmesi yapmamız gerekir. Bunu yapmak için, SEARCH fonksiyonunu kullanarak anahtar kelimelerin hücredeki konumlarını sayısal olarak AGGREGATE fonksiyonuna besleyebilirsiniz. Daha sonra AGGREGATE, function_num değerini 15 ve ref2 argümanını 1 olarak ayarlayarak en küçük sayıyı alır. Ardından MATCH'i ilk en küçük değeri bulmak için kullanın ve bu pozisyon numarasını INDEX'e besleyerek o pozisyondaki değeri alın.
Genel sözdizimi
=INDEX(anahtar_kelime_rng,MATCH(AGGREGATE(15,6,SEARCH(anahtar_kelime_rng,arama_hücresi),1),SEARCH(anahtar_kelime_rng,arama_hücresi),0))
√ Not: Bu bir dizi formülüdür ve Ctrl + Shift + Enter tuşlarına basarak girmeniz gerekmektedir.
- anahtar_kelime_rng: Anahtar kelimeler içeren hücre aralığı.
- arama_hücresi: Anahtar kelimeler içerip içermediğini kontrol etmek istediğiniz hücre.
Anahtar Kelimeler sütununa karşı B5 hücresinde görünen ilk eşleşen anahtar kelimeyi almak için lütfen aşağıdaki formülü C5 hücresine kopyalayın veya girin ve sonucu almak için Ctrl + Shift + Enter tuşlarına basın:
=INDEX($E$5:$E$7,MATCH(AGGREGATE(15,6,SEARCH($E$5:$E$7,B5),1),SEARCH($E$5:$E$7,B5),0))
√ Not: Yukarıdaki dolar işaretleri ($) mutlak referansları gösterir, yani formülün keyword_rng'si formülü diğer hücrelere taşıdığınızda veya kopyaladığınızda değişmez. Ancak lookup_cell'e dolar işareti eklenmemiştir çünkü dinamik olmasını istersiniz. Formülü girdikten sonra, formülü aşağıya doğru sürükleyerek alttaki hücrelere uygulayabilirsiniz.
Formül açıklaması
=INDEX($E$5:$E$7,MATCH(AGGREGATE(15,6,SEARCH($E$5:$E$7,B5)SEARCH($E$5:$E$7,B5),1),SEARCH($E$5:$E$7,B5)SEARCH($E$5:$E$7,B5),0))
- SEARCH($E$5:$E$7,B5): SEARCH fonksiyonu, $E$5:$E$7 aralığındaki her anahtar kelimenin sayısal olarak bulunduğu pozisyonu döndürür; bulunamazsa #DEĞER! hatası verir. Sonuç şu şekilde bir dizi olacaktır: {15;11;#DEĞER!}.
- AGGREGATE(15,6,AGGREGATE(15,6,SEARCH($E$5:$E$7,B5),1),1) = AGGREGATE(15,6,AGGREGATE(15,6,{15;11;#DEĞER!},1),1): Function_num değeri 15 ve seçeneği 6 olan AGGREGATE fonksiyonu, ref2 argümanına göre dizideki en küçük değeri döndürürken hata değerlerini görmezden gelir. Yani bu kod parçası 11 değerini döndürür.
- MATCH(MATCH(AGGREGATE(15,6,SEARCH($E$5:$E$7,B5)SEARCH($E$5:$E$7,B5),1),,SEARCH($E$5:$E$7,B5)SEARCH($E$5:$E$7,B5),0),0) = MATCH(MATCH(11,,{15;11;#DEĞER!},0),0): Match_type değeri 0, MATCH fonksiyonunun tam eşleşme yapmasını sağlar ve 11'in {15;11;#DEĞER!} dizisindeki pozisyonunu döndürür. Böylece fonksiyon 2 değerini döndürür.
- INDEX($E$5:$E$7,MATCH(AGGREGATE(15,6,SEARCH($E$5:$E$7,B5)SEARCH($E$5:$E$7,B5),1),SEARCH($E$5:$E$7,B5)SEARCH($E$5:$E$7,B5),0)) = INDEX($E$5:$E$7,2): INDEX fonksiyonu daha sonra $E$5:$E$7 aralığındaki 2. değeri döndürür, bu da bbb'dir.
Not
- Eğer bir hücrede anahtar kelime yoksa, bir #SAYI! hatası döndürülür.
- Formül büyük/küçük harfe duyarlı değildir. Büyük/küçük harfe duyarlı bir eşleşme yapmak için, SEARCH fonksiyonunu FIND ile değiştirebilirsiniz.
İlgili fonksiyonlar
Excel INDEX fonksiyonu, bir aralık veya dizi içinde verilen bir pozisyona dayalı olarak görüntülenen değeri döndürür.
Excel MATCH fonksiyonu, belirli bir değeri bir hücre aralığında arar ve değerin göreli pozisyonunu döndürür.
Excel'de, SEARCH fonksiyonu size aşağıdaki ekran görüntüsünde gösterildiği gibi belirli bir karakterin veya alt dizenin verilen metin dizesindeki pozisyonunu bulmanıza yardımcı olabilir. Bu eğitimde, Excel'de bu SEARCH fonksiyonunu nasıl kullanacağınızı anlatacağım.
Excel AGGREGATE fonksiyonu, SUM, COUNT, SMALL vb. gibi hesaplamaların toplamını hataları ve gizli satırları görmezden gelme seçeneğiyle birlikte döndürür.
İlgili Formüller
Bir hücreden ilk liste değerini al
Belirli bir hücrede listelenen ilk anahtar kelimeyi almak istiyorsunuz, ancak hücre birden fazla değer içeriyor. Bu durumda INDEX, MATCH, ISNUMBER ve SEARCH fonksiyonlarını içeren oldukça karmaşık bir dizi formülü kullanmanız gerekecek.
INDEX ve MATCH ile tam eşleşme
Eğer Excel'de belirli bir ürün, film veya kişi vb. hakkında listelenen bilgileri bulmanız gerekiyorsa, INDEX ve MATCH fonksiyonlarının kombinasyonundan iyi şekilde yararlanmalısınız.
Bir hücrenin belirli bir metni içerip içermediğini kontrol et
Buradaki eğitim, bir hücrenin belirli bir metni içerip içermediğini kontrol etmek ve aşağıdaki ekran görüntüsünde gösterildiği gibi TRUE ve FALSE döndürmek için bazı formüller sunar ve ayrıca argümanları ve formüllerin nasıl çalıştığını açıklar.
Bir hücrenin birçok şeyin tamamını içerip içermediğini kontrol et
Excel'de E sütununda bir değerler listesi olduğunu varsayalım, B sütunundaki hücrelerin E sütunundaki tüm değerleri içerip içermediğini kontrol etmek ve aşağıdaki ekran görüntüsünde gösterildiği gibi TRUE veya FALSE döndürmek istiyorsunuz. Bu eğitimde, bu görevi çözmek için bir formül sunulmaktadır.
Bir hücrenin birçok şeyden birini içerip içermediğini kontrol et
Bu eğitim, bir hücrenin Excel'de birkaç değerden birini içerip içermediğini kontrol etmek için bir formül sunar ve ayrıca formüldeki argümanları ve formülün nasıl çalıştığını açıklar.
En İyi Ofis Üretkenlik Araçları
Kutools for Excel - Kalabalıktan Sıyrılmaya Yardımcı Olur
Kutools for Excel, İhtiyacınız Olan Her Şeyin Tek Tıklama Uzağında Olduğundan Emin Olmak İçin 300'den Fazla Özelliğe Sahiptir...
Office Tab - Microsoft Office'de (Excel dahil) Sekmeli Okuma ve Düzenlemeyi Etkinleştir
- Bir saniyede, onlarca açık belge arasında geçiş yapın!
- Her gün yüzlerce fare tıklamasından kurtulun, fare eline veda edin.
- Birden fazla belgeyi görüntülediğinizde ve düzenlediğinizde üretkenliğinizi %50 artırır.
- Ofis'e (Excel dahil) Chrome, Edge ve Firefox gibi etkili sekmeler getirir.