Formuła programu Excel: w XLOOKUP rozróżniana jest wielkość liter -

Spisie treści

Formuła ogólna

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

Podsumowanie

Aby zbudować dokładne dopasowanie z rozróżnianiem wielkości liter, możesz użyć funkcji XLOOKUP z funkcją EXACT. W pokazanym przykładzie formuła w F5 to:

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

która pasuje do „RED” (rozróżniana jest wielkość liter) i zwraca cały wiersz.

Wyjaśnienie

Sama funkcja XLOOKUP nie rozróżnia wielkości liter. Wartość wyszukiwania „RED” będzie pasować do „red”, „RED” lub „Red”. Możemy obejść to ograniczenie, konstruując odpowiednią tablicę wyszukiwania dla XLOOKUP z wyrażeniem logicznym.

Pracując od wewnątrz, aby umożliwić XLOOKUP dopasowanie wielkości liter, używamy funkcji EXACT w następujący sposób:

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

Ponieważ zakres E5: D15 zawiera 11 wartości, funkcja EXACT zwraca tablicę z 11 wynikami TRUE FALSE w następujący sposób:

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

Zwróć uwagę, że pozycja PRAWDA odpowiada wierszowi, w którym kolor to „CZERWONY”.

Dla zwięzłości (i aby umożliwić łatwe rozszerzenie logiki za pomocą logiki boolowskiej), wymuszamy wartości TRUE FALSE na 1 i 0 za pomocą podwójnego ujemnego:

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

co daje tablicę taką jak ta:

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

Zwróć uwagę, że pozycja 1 odpowiada wierszowi, w którym kolor jest „CZERWONY”. Ta tablica jest zwracana bezpośrednio do funkcji XLOOKUP jako argument tablicy wyszukiwania.

Możemy teraz po prostu formułować:

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

Z wartością wyszukiwania równą 1, XLOOKUP znajduje 1 na piątej pozycji i zwraca piąty wiersz w tablicy wyników, B9: D9.

Rozszerzenie logiki

Strukturę logiki można łatwo rozszerzyć. Na przykład, aby zawęzić dopasowanie do „CZERWONEGO” w kwietniu, możesz użyć następującego wzoru:

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

W tym przypadku, ponieważ każde z dwóch wyrażeń zwraca tablicę wartości PRAWDA FAŁSZ i ponieważ te tablice są mnożone razem, operacja matematyczna przekształca wartości PRAWDA i FAŁSZ na 1 i 0. Nie ma potrzeby używania podwójnego ujemnego wyniku.

Ponieważ wartość wyszukiwania pozostaje 1, jak we wzorze powyżej.

Pierwszy i ostatni mecz

Obie powyższe formuły zwrócą pierwsze dopasowanie „RED” w zestawie danych. Jeśli potrzebujesz ostatniego dopasowania, możesz przeprowadzić wyszukiwanie wsteczne, ustawiając argument trybu wyszukiwania dla XLOOKUP na -1:

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

Jeśli chcesz zwrócić wyniki z wielu dopasowań, zobacz funkcję FILTER.

Interesujące artykuły...