Excel-formule: horizontale gegevens filteren -

Inhoudsopgave

Generieke formule

=FILTER(data,logic)

Samenvatting

Om gegevens te filteren die horizontaal in kolommen zijn gerangschikt, kunt u de FILTER-functie gebruiken. In het getoonde voorbeeld is de formule in C9:

=TRANSPOSE(FILTER(data,group="fox"))

waarbij gegevens (C4: L6) en groep (C5: L5) benoemde bereiken zijn.

Uitleg

Opmerking: FILTER is een nieuwe dynamische matrixfunctie in Excel 365. In andere versies van Excel zijn er alternatieven, maar deze zijn complexer.

Er zijn tien kolommen met gegevens in het bereik C4: L6. Het doel is om deze horizontale gegevens te filteren en alleen kolommen (records) te extraheren waarvan de groep "vos" is. Voor het gemak en de leesbaarheid bevat het werkblad drie benoemde bereiken: gegevens (C4: L6) en groep (C5: L5) en leeftijd (C6: L6).

De FILTER-functie kan worden gebruikt om gegevens te extraheren die verticaal (in rijen) of horizontaal (in kolommen) zijn gerangschikt. FILTER retourneert de overeenkomende gegevens in dezelfde richting. Er is geen speciale installatie vereist. In het getoonde voorbeeld is de formule in C9:

=FILTER(data,group="fox")

Werkend van binnen naar buiten, is het include-argument voor FILTER een logische uitdrukking:

group="fox" // test for "fox"

Wanneer de logische uitdrukking wordt geëvalueerd, retourneert deze een array van 10 WAAR en ONWAAR waarden:

(TRUE,FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE,FALSE)

Opmerking: de komma's (,) in deze array geven kolommen aan. Puntkomma's (;) zouden rijen aangeven.

De array bevat één waarde per kolom in de gegevens, en elke TRUE komt overeen met een kolom waarin de groep "fox" is. Deze array wordt direct naar FILTER geretourneerd als het include-argument, en het voert de daadwerkelijke filtering uit:

FILTER(data,(TRUE,FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE,FALSE))

Alleen gegevens die overeenkomen met TRUE-waarden passeren het filter, dus FILTER retourneert de 6 kolommen waarin de groep "fox" is. FILTER retourneert deze gegevens in de oorspronkelijke horizontale structuur. Omdat FILTER een dynamische matrixfunctie is, lopen de resultaten over in het bereik C9: H11.

Dit is een dynamische oplossing - als er brongegevens in C4: L6 veranderen, worden de resultaten van FILTER automatisch bijgewerkt.

Transponeren naar verticaal formaat

Om de resultaten van het filter om te zetten naar een verticaal (rijen) formaat, kun je de TRANSPONEREN-functie als volgt om de FILTER-functie wikkelen:

=TRANSPOSE(FILTER(data,group="fox"))

Het resultaat ziet er als volgt uit:

Deze formule wordt hier in meer detail uitgelegd.

Filter op leeftijd

Dezelfde basisformule kan worden gebruikt om de gegevens op verschillende manieren te filteren. Als u bijvoorbeeld gegevens wilt filteren om alleen kolommen weer te geven waarvan de leeftijd lager is dan 22, kunt u een formule als volgt gebruiken:

=FILTER(data,age<22)

FILTER retourneert de vier overeenkomende kolommen met gegevens:

Interessante artikelen...