Excel-formule: eerste overeenkomst tussen twee bereiken -

Inhoudsopgave

Generieke formule

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

Samenvatting

Als u de eerste overeenkomst in twee waardenbereiken wilt ophalen, kunt u een formule gebruiken die is gebaseerd op de functies INDEX, MATCH en AANTAL.ALS. In het getoonde voorbeeld is de formule in G5:

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

waar "bereik1" het benoemde bereik B5: B8 is, "bereik2" het benoemde bereik D5: D7 is.

Uitleg

In dit voorbeeld verwijst het benoemde bereik "bereik1" naar de cellen B5: B8, en het benoemde bereik "bereik2" verwijst naar D5: D7. We gebruiken benoemde bereiken alleen voor het gemak en de leesbaarheid; de formule werkt ook prima met gewone celverwijzingen.

De kern van deze formule is INDEX en MATCH. De functie INDEX haalt een waarde op uit bereik2 die de eerste waarde in bereik2 vertegenwoordigt die in bereik1 wordt gevonden. De INDEX-functie vereist een index (rijnummer) en we genereren deze waarde met behulp van de MATCH-functie, die is ingesteld om overeen te komen met de waarde TRUE in dit gedeelte van de formule:

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

Hier is de matchwaarde TRUE en wordt de lookup-array gemaakt met AANTAL.ALS hier:

COUNTIF(range1,range2)>0

AANTAL.ALS retourneert een telling van de waarden voor bereik2 die in bereik1 voorkomen. Omdat bereik2 meerdere waarden bevat, retourneert AANTAL.ALS meerdere resultaten die er als volgt uitzien:

(0;0;1)

We gebruiken "> 0" om alle resultaten naar WAAR of ONWAAR te dwingen:

(FALSE;FALSE;TRUE)

Dan doet MATCH zijn ding en retourneert de positie van de eerste TRUE (indien aanwezig) die verschijnt, in dit geval het getal 3.

Ten slotte retourneert INDEX de waarde op die positie, "Rood".

Interessante artikelen...