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

Innholdsfortegnelse

Generisk formel

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

Sammendrag

For å matche den første verdien som ikke begynner med en spesifikk streng, kan du bruke en matrise basert på MATCH og LEFT-funksjonene. I eksemplet vist er formelen i F5:

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

der "kode" er det navngitte området B5: B12.

Merk: dette er en matriseformel og må angis med kontroll + skift + enter.

Forklaring

Nøkkelen til denne formelen er matrisen eller SANNE og FALSE verdier konstruert med dette uttrykket:

LEFT(code,1)"N"

Her blir hver verdi i det nevnte området "kode" evaluert med den logiske testen "første bokstav er ikke N". Resultatet er en matrise eller SANNE og FALSE verdier som dette:

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

Denne matrisen mates inn i MATCH-funksjonen som oppslagsmatrisen. Oppslagsverdien er SANT, og samsvarstypen er satt til null for å tvinge en nøyaktig samsvar. MATCH-funksjonen returnerer posisjonen til den første verdien som ikke begynner med bokstaven "N" (Z09876), som er 5.

INDEKS og MATCH

For å hente en verdi tilknyttet posisjonen som returneres av MATCH, kan du legge til INDEKS-funksjonen. I det viste eksemplet er formelen i F6:

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

Merk at vi bruker den samme MATCH-formelen ovenfor for å gi et radnummer til INDEX, med matrisen satt til det valgte området "verdi". Som før returnerer MATCH 5. INDEX returnerer deretter verdien på den posisjonen, -23.

Som før er dette en matriseformel og må legges inn med kontroll + skift + enter.

Interessante artikler...