Excel-formel: Ungefärlig matchning med flera kriterier -

Innehållsförteckning

Sammanfattning

För att leta upp och uppskatta matchning baserat på mer än ett kriterium kan du använda en matrisformel baserad på INDEX och MATCH, med hjälp av IF-funktionen. I exemplet som visas är formeln i G8:

(=INDEX(D5:D10,MATCH(G7,IF(B5:B10=G6,C5:C10),1)))

Målet med denna formel är att returnera "storlek" när det ges ett djur och en vikt.

Obs: detta är en matrisformel och måste anges med Control + Shift + Enter

Förklaring

I grunden är detta bara en INDEX / MATCH-formel. Problemet i det här fallet är att vi behöver "skärma ut" de främmande posterna i tabellen så att vi bara har kvar poster som motsvarar djuret vi letar upp.

Detta görs med en enkel IF-funktion här:

IF(B5:B10=G6,C5:C10)

Detta utdrag testar värdena i B5: B10 för att se om de matchar värdet i G6 (djuret). Om det finns en matchning returneras motsvarande värden i C5: C11. Om det inte finns någon matchning returneras FALSE. När G6 innehåller "cat" ser den resulterande matrisen ut så här:

(FALSE; FALSE; FALSE; 5; 10; 15)

Detta går in i MATCH-funktionen som array. Sökningsvärdet för match kommer från G7, som innehåller vikten (9 kg i exemplet).

Observera att matchning är konfigurerad för ungefärlig matchning genom att ställa in match_type till 1, och detta kräver att värdena i C5: C11 måste sorteras.

MATCH returnerar viktens position i matrisen och detta skickas till INDEX-funktionen som radnummer. Lookup_array för INDEX är storlekarna i D5: D10, så INDEX returnerar en storlek som motsvarar den position som genereras av MATCH (siffran 4 i exemplet som visas).

Intressanta artiklar...