Excel formülü: INDEX ve MATCH ile tam eşleşme araması -

İçindekiler

Genel formül

(=INDEX(data,MATCH(TRUE,EXACT(val,lookup_col),0),col_num))

Özet

Büyük / küçük harfe duyarlı arama

Varsayılan olarak, VLOOKUP veya INDEX + MATCH ile standart aramalar büyük / küçük harfe duyarlı değildir. DÜŞEYARA ve MAÇ, büyük / küçük harfe bakmadan ilk eşleşmeyi döndürür.

Ancak, büyük / küçük harfe duyarlı bir arama yapmanız gerekiyorsa, bunu INDEX, MATCH ve EXACT işlevini kullanan bir dizi formülüyle yapabilirsiniz.

Örnekte aşağıdaki formülü kullanıyoruz

(=INDEX(data,MATCH(TRUE,EXACT(F4,B3:B102),0),3))

Bu formül bir dizi formülüdür ve Control + Shift + Enter ile girilmelidir.

Açıklama

MATCH tek başına büyük / küçük harfe duyarlı olmadığından, Excel'in büyük / küçük harf karşılaştırmasını sağlamanın bir yoluna ihtiyacımız var. EXACT işlevi bunun için mükemmel bir işlevdir, ancak onu kullanma şeklimiz biraz alışılmadıktır çünkü bir hücreyi bir dizi hücreyle karşılaştırmamız gerekir.

İçeriden dışarıya çalışarak, ilk önce:

EXACT(F4,B3:B102)

burada F4, arama değerini içerir ve B3: B102, arama sütununa bir referanstır (Adlar). İkinci argüman olarak TAM bir dizi verdiğimiz için, aşağıdaki gibi bir DOĞRU yanlış değer dizisi geri alacağız:

(YANLIŞ, YANLIŞ, YANLIŞ, YANLIŞ, YANLIŞ, DOĞRU, vb.)

Bu, B4'teki değerin arama sütunundaki her hücrede karşılaştırılmasının sonucudur. DOĞRU gördüğümüz her yerde, duruma saygı duyan tam bir eşleşmemiz olduğunu biliyoruz.

Şimdi bu dizideki DOĞRU değerin konumunu (yani satır numarasını) almamız gerekiyor. Bunun için, DOĞRU arayarak MATCH kullanabilir ve tam eşleme moduna ayarlayabiliriz:

MATCH(TRUE,EXACT(F4,B3:B102),0)

Eşleştirmeler varsa MATCH'ın her zaman ilk eşleşmeyi döndüreceğini unutmamak önemlidir, bu nedenle sütunda başka bir tam eşleşme olursa, yalnızca ilk eşleşmeyi eşleştireceksiniz.

Şimdi bir satır numaramız var. Ardından, sağ satır ve sütun kesişimindeki değeri almak için INDEX kullanmamız gerekiyor. Bu durumda sütun numarası, adlandırılmış aralık verileri tüm sütunları içerdiğinden 3 olarak sabit kodlanmıştır . Nihai formül şudur:

(=INDEX(data,MATCH(TRUE,EXACT(F4,B3:B102),0),3))

EXACT tarafından oluşturulan dizi nedeniyle bu formülü dizi formülü olarak girmemiz gerekiyor.

Bu formül hem metin hem de sayısal değerleri alacaktır. Yalnızca sayıları almak istiyorsanız, SUMPRODUCT'e dayalı bir formül kullanabilirsiniz; aşağıdaki bağlantıya bakın

Ilginç makaleler...