Beschrijving
Gebruik deze functie om rijen uit een bereik of matrix te extraheren die aan specifieke voorwaarden voldoen.
Syntaxis
FILTER(array, include, [if_empty])
Invoer
Deze functie accepteert het volgende argument:
| Naam | Vereist | Beschrijving | Geldige invoer |
|---|---|---|---|
matrix |
Ja | Het bereik of de matrix waarop gefilterd moet worden. | Een cel, een celbereik, een dynamische matrix of een formule die resulteert in een van deze. |
bevatten |
Ja | Een Booleaanse array of logische expressie om te bepalen welke rijen moeten worden geretourneerd. | Een logische waarde (WAAR of ONWAAR), een getal (0 is ONWAAR, andere getallen zijn WAAR), een verwijzing naar een cel die een van deze waarden bevat, of een formule die resulteert in een van deze waarden. |
als_leeg |
Nee | De waarde die moet worden geretourneerd als er geen rijen aan de filtervoorwaarde voldoen. | Een tekstreeks die wordt weergegeven als er geen overeenkomende rijen worden gevonden. |
Voorbeelden
Voorbeeldgegevens
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Naam | Leeftijd | Stad | Salaris |
| 2 | John | 35 | New York | 75000 |
| 3 | Alice | 28 | Chicago | 65000 |
| 4 | Bob | 42 | Los Angeles | 85000 |
| 5 | George | 22 | Denver | 55000 |
| 6 | Helen | 30 | Scottsdale | 71000 |
Voorbeeldformules
De bereiken moeten overeenkomen! Als u meerdere bereiken gebruikt met FILTER, moeten de rijwaarden voor alle bereiken die deel uitmaken van de filteruitdrukking hetzelfde zijn.
| Gebruiksvoorbeeld | Formule | Resultaat en uitleg | ||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Maak een dataset van alle werknemers ouder dan 30. | =FILTER(A1:D6, B1:B6>30) |
Deze formule analyseert de dataset (A1:D6) en extraheert vervolgens de rijen waar de leeftijd groter is dan 30.
|
||||||||||||||||||||||||||
| Maak een dataset van alle werknemers ouder dan 50 en stel een aangepast bericht in als er geen werknemers ouder dan 50 zijn. | =IFERROR(FILTER(A2:D6, B2:B6>50), "Geen") |
Deze formule gebruikt FILTER om de dataset (A2:D6) te onderzoeken en extraheert vervolgens de rijen waar de leeftijd groter is dan 50. Omdat er geen zijn, genereert dit een fout, die wordt afgehandeld door IFERROR om de tekenreeks "None" weer te geven. Met behulp van de bovenstaande dataset levert dit het volgende op:
|
||||||||||||||||||||||||||
| Maak een dataset van alle werknemers ouder dan 25, gesorteerd op salaris in aflopende volgorde. | =SORTEREN(FILTER(A2:D6, B2:B6>25), 4, -1) |
Deze formule gebruikt FILTER om de dataset (A1:D6) te onderzoeken en extraheert vervolgens de rijen waar de leeftijd groter is dan 25. Met behulp van de bovenstaande dataset levert dit het volgende op:
|
||||||||||||||||||||||||||
| Zoek naar werknemers die meer verdienen dan het gemiddelde salaris. | =FILTER(A2:D6, D2:D6> GEMIDDELDE(D2:D6)) |
Deze formule berekent het GEMIDDELDE van de salarissen (D2:D6) en gebruikt vervolgens FILTER om de dataset (A2:D6) te onderzoeken en de rijen te extraheren waar het salaris hoger is dan het gemiddelde. Aan de hand van de bovenstaande gegevenstabel levert dit het volgende op:
|
||||||||||||||||||||||||||
| Identificeer werknemers die jonger zijn dan 30 jaar EN meer dan 60.000 verdienen. | =FILTER(A1:D6,(B1:B6<30)*(D1:D6>60000)) |
Deze formule berekent het GEMIDDELDE van de salarissen (D2:D6) en gebruikt vervolgens FILTER om de dataset (A2:D6) te onderzoeken en de rijen te extraheren waar het salaris hoger is dan het gemiddelde.
|
Notities
- Net als alle arrayfuncties vult FILTER dynamisch resultaten in aangrenzende cellen, te beginnen bij de cel die de FILTER-functie bevat.
- FILTER:
- Ondersteunt complexe filtering op basis van meerdere voorwaarden.
- Retourneer rijen die voldoen aan de opgegeven logische criteria.
- Ondersteunt meerdere logische tests met behulp van * ("AND") of + ("OR").
Bijvoorbeeld, een formule om een bereik te filteren en records weer te geven waarbij de waarden in kolom B "Chocolade" of "Koffie" zijn, zou zijn:=FILTER(A2:C100, (B2:B100="Chocolade") + (B2:B100="Koffie")).
Tips
- Als je een kopregel hebt en je wilt die kopregels niet opnemen, begin je de waarden in de array één rij lager (bijvoorbeeld in de bovenstaande dataset, begin je met A2 in plaats van A1).
- FILTER kan worden gecombineerd met andere functies, waaronder:
- CHOOSEROWS: Verfijn de gefilterde resultaten verder.
- CHOOSECOLS: Selecteer specifieke kolommen uit de gefilterde gegevens.
- SORTEREN: Sorteer de gefilterde resultaten.
Gerelateerde functies
Hieronder vindt u de overige matrixformulefuncties die worden ondersteund in Workiva-spreadsheets.