Excel-formel: Exakt matchning med INDEX och MATCH -

Innehållsförteckning

Generisk formel

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

Sammanfattning

Skiftlägeskänslig sökning

Som standard är standarduppslag med VLOOKUP eller INDEX + MATCH inte skiftlägeskänsliga. Både VLOOKUP och MATCH returnerar helt enkelt den första matchen, utan att ignorera fallet.

Men om du behöver göra en skiftlägeskänslig uppslagning kan du göra det med en matrisformel som använder INDEX, MATCH och EXAKT-funktionen.

I exemplet använder vi följande formel

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

Denna formel är en matrisformel och måste anges med Control + Shift + Enter.

Förklaring

Eftersom MATCH inte är skiftlägeskänslig behöver vi ett sätt att få Excel att jämföra fall. EXAKT-funktionen är den perfekta funktionen för detta, men hur vi använder det är lite ovanligt eftersom vi måste jämföra en cell med ett antal celler.

Arbetar inifrån och ut, vi har först:

EXACT(F4,B3:B102)

där F4 innehåller uppslagsvärdet och B3: B102 är en referens till uppslagskolumnen (Förnamn). Eftersom vi ger EXAKT en matris som ett andra argument kommer vi att få tillbaka en matris med Sanna falska värden så här:

(FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, etc.)

Detta är resultatet av att jämföra värdet i B4 varje cell i uppslagskolumnen. Oavsett var vi ser SANT vet vi att vi har en exakt matchning som respekterar fallet.

Nu måste vi få positionen (dvs. radnummer) för det SANNA värdet i denna matris. För detta kan vi använda MATCH, leta efter SANT och ställa in exakt matchningsläge:

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

Det är viktigt att notera att MATCH alltid kommer att returnera den första matchen om det finns dubbletter, så om det råkar finnas en annan exakt matchning i kolumnen, matchar du bara den första.

Nu har vi ett radnummer. Därefter behöver vi bara använda INDEX för att hämta värdet vid höger rad och kolumnkorsning. Kolumnnummer i detta fall är hårdkodad som 3, eftersom det namngivna området uppgifter inkluderar alla kolumner. Den slutliga formeln är:

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

Vi måste ange denna formel som en matrisformel på grund av den matris som skapats av EXACT.

Denna formel hämtar både text- och numeriska värden. Om du bara vill hämta siffror kan du använda en formel baserad på SUMPRODUCT; se länk nedan

Intressanta artiklar...