Excel-formel: skiftlägeskänslig sökning -

Generisk formel

=INDEX(range1,MATCH(TRUE,EXACT(A1,range2),0))

Sammanfattning

För att utföra en skiftlägeskänslig sökning kan du använda EXAKT-funktionen tillsammans med INDEX och MATCH. I exemplets show är formeln i F5:

=INDEX(C5:C14,MATCH(TRUE,EXACT(E5,B5:B14),0))

som returnerar 39, åldern "JILL SMITH".

Obs: detta är en matrisformel och måste anges med Control + Shift + Enter, utom i Excel 365.

Förklaring

Kärnan är detta en INDEX- och MATCH-formel, med EXAKT-funktionen som används i MATCH för att utföra en skiftlägeskänslig matchning.

Arbetar inifrån och ut, EXACT är konfigurerad för att jämföra värdet i E5 mot namn i intervallet B5: B14:

EXACT(E5,B5:B14) // returns array of results

EXAKT-funktionen utför en skiftlägeskänslig jämförelse och returnerar SANT eller FALSK som ett resultat. Endast värden som matchar exakt returnerar SANT. Eftersom vi kontrollerar namnet i E5 ("JILL SMITH") mot alla tio namn i intervallet B5: B14, får vi tillbaka en matris med tio Sanna och FALSKA värden så här:

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

Denna matris returneras direkt till MATCH-funktionen som lookup_array så här:

MATCH(TRUE,(FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE),0)

Med ett sökvärde på SANT returnerar MATCH 5, eftersom den enda SANN i matrisen är i femte position. Lägg också märke till att match_type är satt till noll (0) för att tvinga en exakt matchning.

MATCH-funktionen returnerar ett resultat direkt till INDEX-funktionen som radnummer, så vi kan nu skriva om formeln så här:

=INDEX(C5:C14,5) // returns 39

INDEX returnerar åldern i femte raden, 39, som ett slutresultat.

Eftersom att använda EXAKT-funktionen som denna är en array-operation är formeln en array-formel och måste anges med Control + Shift + Enter, utom i Excel 365.

Med XLOOKUP

I Excel 365 kan XLOOKUP-funktionen konfigureras för att utföra en skiftlägeskänslig uppslagning på ett liknande sätt som detta:

=XLOOKUP(TRUE,EXACT(J5,B5:B14),C5:C14,"na",0)

Lägg märke till uppslagsvärdet och uppslagsmatrisen är inställd precis som MATCH-funktionen ovan. Efter EXACT-körningar har vi:

=XLOOKUP(TRUE,(FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE),C5:C14,"na",0)

och XLOOKUP returnerar det femte objektet från intervallet C5: C14 (39) som slutresultat.

Intressanta artiklar...