Excel-formel: Match først begynder ikke med -

Indholdsfortegnelse

Generisk formel

(=MATCH(TRUE,IF(LEFT(range,1)"N",TRUE),0))

Resumé

For at matche den første værdi, der ikke begynder med en bestemt streng, kan du bruge en matrix baseret på MATCH og LEFT-funktionerne. I det viste eksempel er formlen i F5:

(=MATCH(TRUE,IF(LEFT(code,1)"N",TRUE),0))

hvor "kode" er det navngivne område B5: B12.

Bemærk: dette er en matrixformel og skal indtastes med kontrol + skift + enter.

Forklaring

Nøglen til denne formel er array- eller TRUE og FALSE-værdier konstrueret med dette udtryk:

LEFT(code,1)"N"

Her evalueres hver værdi i det navngivne interval "kode" med den logiske test "første bogstav er ikke N". Resultatet er en matrix eller SANDE og FALSKE værdier som denne:

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

Denne matrix føres ind i MATCH-funktionen som opslagsarray. Opslagsværdien er SAND, og ​​matchtype er sat til nul for at tvinge et nøjagtigt match. MATCH-funktionen returnerer positionen for den første værdi, der ikke begynder med bogstavet "N" (Z09876), som er 5.

INDEX og MATCH

For at hente en værdi, der er knyttet til den position, der returneres af MATCH, kan du tilføje INDEX-funktionen. I det viste eksempel er formlen i F6:

(=INDEX(value,MATCH(TRUE,LEFT(code,1)"N",0)))

Bemærk, at vi bruger den samme MATCH-formel ovenfor for at give et række nummer til INDEX, med arrayet indstillet til det navngivne interval "værdi". Som før returnerer MATCH 5. INDEX returnerer derefter værdien på den position, -23.

Som før er dette en matrixformel og skal indtastes med kontrol + skift + enter.

Interessante artikler...