Excel-formule: Match eerste voorkomen bevat geen -

Inhoudsopgave

Generieke formule

(=MATCH(FALSE,logical_test,0))

Samenvatting

Om de positie te krijgen van de eerste overeenkomst die geen specifieke waarde bevat, kunt u een matrixformule gebruiken op basis van de functies VERGELIJKEN, ZOEKEN en ISGETAL. In het getoonde voorbeeld is de formule in E5:

(=MATCH(FALSE,data="red",0))

waarbij "data" het benoemde bereik B5 "B12 is.

Opmerking: dit is een matrixformule en moet worden ingevoerd met control + shift + enter, behalve in Excel 365.

Uitleg

Deze formule is afhankelijk van een TRUE of FALSE resultaat van een logische test, waarbij FALSE de waarde vertegenwoordigt waarnaar u op zoek bent. In het voorbeeld is de logische test data = "red", ingevoerd als het lookup_array-argument in de MATCH-functie:

=MATCH(FALSE,data="red",0)

Nadat de test is uitgevoerd, retourneert deze een array of TRUE en FALSE waarden:

=MATCH(FALSE,(TRUE;TRUE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE),0)

Met de lookup_value ingesteld op FALSE en match_type ingesteld op nul om af te dwingen en exact te matchen, retourneert de MATCH-functie 4, de positie van de eerste FALSE in de array.

Krijg bijbehorende waarde

Om de bijbehorende waarde op te halen uit de kolom Hoeveelheid, waar "hoeveelheid" het benoemde bereik C5: C12 is, kunt u INDEX en MATCH samen gebruiken:

(=INDEX(quantity,MATCH(FALSE,data="red",0)))

Letterlijk bevat

Als u de eerste waarde moet matchen die letterlijk "bevat niet", kunt u een variant van de formule gebruiken. Om bijvoorbeeld de eerste waarde in gegevens die geen "r" bevatten te matchen, kunt u het volgende gebruiken:

(=MATCH(FALSE,ISNUMBER(SEARCH("r",data)),0))

Opmerking: dit is een matrixformule en moet worden ingevoerd met control + shift + enter, behalve in Excel 365.

Zie deze pagina voor meer informatie over ISNUMBER + SEARCH.

Interessante artikelen...