Excel-formule: filter bevat een van de vele -

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")

Interessante artikelen...