Excel formülü: XLOOKUP büyük / küçük harfe duyarlı -

İçindekiler

Genel formül

=XLOOKUP(1,--EXACT(range1,"RED"),range2)

Özet

Büyük / küçük harfe duyarlı bir tam eşleşme oluşturmak için, XLOOKUP işlevini TAM işlevi ile kullanabilirsiniz. Gösterilen örnekte, F5'teki formül şöyledir:

=XLOOKUP(1,--EXACT(B5:B15,"RED"),B5:D15)

"RED" ile eşleşen (büyük / küçük harfe duyarlı) ve tüm satırı döndürür.

Açıklama

XLOOKUP işlevi tek başına büyük / küçük harfe duyarlı değildir. "KIRMIZI" arama değeri "kırmızı", "KIRMIZI" veya "Kırmızı" ile eşleşecektir. Mantıksal bir ifade ile XLOOKUP için uygun bir arama dizisi oluşturarak bu sınırlamayı aşabiliriz.

İçten dışa doğru çalışarak, XLOOKUP'a büyük / küçük harfe eşleştirme yeteneği vermek için EXACT işlevini şu şekilde kullanıyoruz:

EXACT(B5:B15,"RED") // test for "RED"

E5: D15 aralığında 11 değer olduğundan, TAM, aşağıdaki gibi 11 DOĞRU YANLIŞ sonucu olan bir dizi döndürür:

(FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE)

DOĞRU konumunun, rengin "KIRMIZI" olduğu satıra karşılık geldiğine dikkat edin.

Kısalık için (ve mantığın boole mantığıyla kolayca genişletilmesine izin vermek için), DOĞRU YANLIŞ değerlerini çift negatif ile 1s ve 0s olarak zorlarız:

--EXACT(B5:B15,"RED") // convert to 1s and 0s

bunun gibi bir dizi verir:

(0;0;0;0;1;0;0;0;0;0;0)

1'in konumunun, rengin "KIRMIZI" olduğu satıra karşılık geldiğine dikkat edin. Bu dizi, arama dizisi bağımsız değişkeni olarak doğrudan XLOOKUP işlevine döndürülür.

Artık aşağıdaki formülü basitçe yapabiliriz:

=XLOOKUP(1,(0;0;0;0;1;0;0;0;0;0;0),B5:D15)

1 arama değeriyle, XLOOKUP 1'i 5. konumda bulur ve dönüş dizisindeki 5. satırı, B9: D9'u döndürür.

Mantığı genişletmek

Mantığın yapısı kolaylıkla genişletilebilir. Örneğin, Nisan ayında eşleşmeyi "KIRMIZI" olarak daraltmak için aşağıdaki gibi bir formül kullanabilirsiniz:

=XLOOKUP(1,EXACT(B5:B15,"RED")*(MONTH(C5:C15)=4),B5:D15)

Burada, iki ifadenin her biri bir DOĞRU YANLIŞ değerleri dizisi döndürdüğünden ve bu diziler birlikte çarpıldığından, matematik işlemi DOĞRU ve YANLIŞ değerlerini 1 ve 0'lara zorlar. Çift negatif kullanmak gerekli değildir.

Arama değeri, yukarıdaki formülde olduğu gibi 1 olarak kaldığı için.

İlk ve son maç

Yukarıdaki her iki formül de bir veri kümesindeki ilk "KIRMIZI" eşleşmesini döndürür. Son eşleşmeye ihtiyacınız varsa, XLOOKUP için arama modu bağımsız değişkenini -1 olarak ayarlayarak geriye doğru arama yapabilirsiniz:

=XLOOKUP(1,--EXACT(B5:B15,"RED"),B5:D15,,,-1) // last match

Birden çok eşleşmeden sonuç döndürmeniz gerekiyorsa, FİLTRE işlevine bakın.

Ilginç makaleler...