
Generieke formule
=FILTER(data,ISNUMBER(MATCH(rng1,rng2,0)),"No data")
Samenvatting
Als u gegevens wilt filteren om alleen records op te nemen waarvan een kolom gelijk is aan een van de vele waarden, kunt u de functie FILTER samen met de functie ISNUMBER en MATCH gebruiken. In het getoonde voorbeeld is de formule in F5:
=FILTER(data,ISNUMBER(MATCH(color,list,0)),"No data")
waar "data" (B5: D15), "kleur" (C5: C15) en "lijst" (J5: J7) benoemde bereiken zijn.
Uitleg
De FILTER-functie kan gegevens filteren met behulp van een logische uitdrukking die wordt geleverd als het "include" -argument. In dit voorbeeld wordt dit argument gemaakt met een uitdrukking die de functies ISNUMBER en MATCH als volgt gebruikt:
=ISNUMBER(MATCH(color,list,0))
MATCH is geconfigureerd om te zoeken naar elke kleur in C5: C15 binnen het kleinere bereik J5: J7. De MATCH-functie retourneert een array zoals deze:
(1;#N/A;#N/A;#N/A;2;3;2;#N/A;#N/A;#N/A;3)
Let op nummers komen overeen met de positie van "gevonden" kleuren (ofwel "rood", "blauw" of "zwart"), en fouten komen overeen met rijen waarin een doelkleur niet werd gevonden. Om een resultaat van TRUE of FALSE te forceren, gaat deze array naar de ISNUMBER-functie, die retourneert:
(TRUE;FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;TRUE)
De bovenstaande array wordt geleverd aan de FLITER-functie als het include-argument en FILTER retourneert alleen rijen die overeenkomen met een TRUE-waarde.
Met hardgecodeerde waarden
Het bovenstaande voorbeeld is gemaakt met celverwijzingen, waarbij doelkleuren zijn ingevoerd in het bereik J5: J7. Maar als u een matrixconstante gebruikt, kunt u waarden als volgt in de formule coderen met hetzelfde resultaat:
=FILTER(data,ISNUMBER(MATCH(color,("red","blue","black"),0)),"No data")