Excel-formel: Första matchningen mellan två intervall -

Innehållsförteckning

Generisk formel

=INDEX(range2,MATCH(TRUE,COUNTIF(range1,range2)>0,0))

Sammanfattning

För att hämta den första matchningen i två värden, kan du använda en formel baserad på funktionerna INDEX, MATCH och COUNTIF. I exemplet som visas är formeln i G5:

=INDEX(range2,MATCH(TRUE,COUNTIF(range1,range2)>0,0))

där "intervall1" är det namngivna området B5: B8, är "intervall2" det namngivna området D5: D7.

Förklaring

I detta exempel hänvisar det angivna intervallet "intervall1" till cellerna B5: B8, och det namngivna intervallet "intervall2" hänför sig till D5: D7. Vi använder namngivna intervall endast för bekvämlighet och läsbarhet. formeln fungerar också bra med vanliga cellreferenser.

Kärnan i denna formel är INDEX och MATCH. INDEX-funktionen hämtar ett värde från område2 som representerar det första värdet i område2 som finns i område1. INDEX-funktionen kräver ett index (radnummer) och vi genererar detta värde med MATCH-funktionen, som är inställd på att matcha värdet SANT i denna del av formeln:

MATCH(TRUE,COUNTIF(range1,range2)>0,0)

Här är matchningsvärdet SANT och uppslagsmatrisen skapas med COUNTIF här:

COUNTIF(range1,range2)>0

COUNTIF returnerar ett antal räknevärden2 som visas i intervall1. Eftersom intervall2 innehåller flera värden returnerar COUNTIF flera resultat som ser ut så här:

(0;0;1)

Vi använder "> 0" för att tvinga alla resultat till antingen SANT eller FALSKT:

(FALSE;FALSE;TRUE)

Då gör MATCH sitt och returnerar positionen för den första SANT (om någon) som visas, i det här fallet, siffran 3.

Slutligen returnerar INDEX värdet på den positionen, "Röd".

Intressanta artiklar...