FILTER
FILTER in Engelstalige Excel
Haalt alle rijen uit een bereik die aan je voorwaarde voldoen, als lijst die naar de cellen eronder overloopt en zich aanpast zodra de gegevens veranderen.
Laatst bijgewerkt: 13 oktober 2026
| Rij | A | B | C | D | E | F | G |
|---|---|---|---|---|---|---|---|
| 1 | Boekstuk | Dagboek | Bedrag | Dagboek | MEM | ||
| 2 | 25-0412 | INK | €3,025.00€ 3.025,00 | ||||
| 3 | 25-0413 | MEM | €15,000.00€ 15.000,00 | 25-0413=FILTER(A2:C7, B2:B7=F1)=FILTER(A2:C7; B2:B7=F1) | MEM | €15,000.00€ 15.000,00 | |
| 4 | 25-0414 | VRK | €6,050.00€ 6.050,00 | 25-0415 | MEM | €2,500.00€ 2.500,00 | |
| 5 | 25-0415 | MEM | €2,500.00€ 2.500,00 | 25-0417 | MEM | €48,000.00€ 48.000,00 | |
| 6 | 25-0416 | BNK | €9,680.00€ 9.680,00 | ||||
| 7 | 25-0417 | MEM | €48,000.00€ 48.000,00 |
Veeg opzij om alle kolommen te zien
=FILTER(A2:C7,B2:B7=F1)
=FILTER(A2:C7;B2:B7=F1)
Wat FILTER doet en wanneer je het gebruikt
Wat het doet: het geeft alle rijen van een tabel terug die aan je voorwaarde voldoen, als lijst die naar de cellen eronder overloopt, bijvoorbeeld alle handmatige boekingen uit een volledige auditfile.
Wanneer je de functie gebruikt: voor lijsten die de gegevens moeten volgen, zoals achterstallige facturen of de rijen achter een dashboardgetal. De functie vervangt rijen met de hand kopiëren na een filter, en X.ZOEKEN geeft maar de eerste treffer.
De drie grootste voordelen:
- Altijd actueel: de lijst verandert mee met de gegevens, zonder filter om opnieuw toe te passen en zonder kopiëren.
- Verbergt niets: de bronrijen blijven zichtbaar en onaangeroerd.
- Voedt andere functies: zet er SORTEREN of SOM omheen om het resultaat te sorteren of op te tellen.
Hoe Excel de functie berekent
Excel gaat zo te werk:
- het berekent eerst opnemen, wat per rij één WAAR of ONWAAR (of een getal) oplevert
- het controleert of die matrix even hoog is als matrix (of even breed, als je kolommen houdt); zo niet, dan wordt het resultaat #WAARDE!
- het loopt matrix van boven naar beneden door en houdt elke rij waarvan de waarde in opnemen WAAR of niet nul is, in de oorspronkelijke volgorde
- blijft er minstens één rij over, dan loopt het blok over vanuit de formulecel, zo hoog als het aantal rijen dat bleef en zo breed als matrix
- blijft er niets over, dan geeft het als_leeg terug
Staat er al iets in het overloopbereik, dan krijg je #OVERLOPEN! in plaats van de lijst.
Let op: Voldoet geen enkele rij, dan geeft FILTER #BEREKENEN! tenzij je als_leeg opgeeft.
Denkmodel
Een zeef met één gaatje per rij: opnemen bepaalt welke gaatjes open zijn, en wat erdoor valt komt op volgorde onder de formule terecht.
FILTER(matrix,opnemen, [als_leeg])
FILTER(matrix;opnemen; [als_leeg])
| Argument | Soort | Betekenis |
|---|---|---|
matrix | Verplicht | De rijen die je terug wilt: één kolom of een hele tabel. |
opnemen | Verplicht | Een WAAR/ONWAAR per rij, even hoog als matrix (even breed voor kolommen): wat blijft. |
als_leeg | Optioneel | Wat je ziet als geen rij voldoet; zonder dit krijg je #BEREKENEN!. |
Geeft terug:De rijen van matrix waar opnemen WAAR is, of als_leeg als die er niet zijn
Formules gebruiken komma's (,) tussen de argumenten, zoals in de Engelse Excel. Formules gebruiken puntkomma's (;) tussen de argumenten, zoals in de Nederlandse Excel. Formules gebruiken puntkomma's (;) tussen de argumenten, zoals in de Nederlandse Excel; de Engelse Excel gebruikt komma's (,).
Uitgewerkte voorbeelden
Beginner
Alle handmatige boekingen onder elkaar zetten
Je doet journaalpostentesten bij Veldhuis Installatie BV. De XAF-auditfile staat in een werkblad met één rij per boekstuk. Handmatige boekingen in dagboek MEM hebben een hoger frauderisico dan automatische, dus je wilt ze op één lijst. Typ in F1 een andere dagboekcode en de lijst vult zichzelf opnieuw.
| Rij | A | B | C | D | E | F | G | H |
|---|---|---|---|---|---|---|---|---|
| 1 | Boekstuk | Dagboek | Bedrag | Dagboek | MEM | |||
| 2 | 25-0412 | INK | €3,025.00€ 3.025,00 | |||||
| 3 | 25-0413 | MEM | €15,000.00€ 15.000,00 | 25-0413=FILTER(A2:C7, B2:B7=F1)=FILTER(A2:C7; B2:B7=F1) | MEM | €15,000.00€ 15.000,00 | ||
| 4 | 25-0414 | VRK | €6,050.00€ 6.050,00 | 25-0415 | MEM | €2,500.00€ 2.500,00 | ||
| 5 | 25-0415 | MEM | €2,500.00€ 2.500,00 | 25-0417 | MEM | €48,000.00€ 48.000,00 | ||
| 6 | 25-0416 | BNK | €9,680.00€ 9.680,00 | |||||
| 7 | 25-0417 | MEM | €48,000.00€ 48.000,00 | |||||
| 8 |
Veeg opzij om alle kolommen te zien
Formule in E3
=FILTER(A2:C7,B2:B7=F1)
=FILTER(A2:C7;B2:B7=F1)
Resultaat: 25-0413 | MEM | €15,000.00 / 25-0415 | MEM | €2,500.00 / 25-0417 | MEM | €48,000.0025-0413 | MEM | € 15.000,00 / 25-0415 | MEM | € 2.500,00 / 25-0417 | MEM | € 48.000,00
Stap voor stap
- Excel leest
F1en vindtMEM. - Voor opnemen, B2:B7=F1, vergelijkt Excel elk van de 6 dagboekcellen met
MEM: ONWAAR, WAAR, ONWAAR, WAAR, ONWAAR, WAAR. Die matrix is 6 rijen hoog, net alsA2:C7, dus de afmetingen kloppen. - Excel loopt
A2:C7door en houdt de rijen waar opnemen WAAR is: de tweede, vierde en zesde, dat zijn rij 3, 5 en 7 van het werkblad:25-0413,25-0415en25-0417. - Er komen drie rijen van drie kolommen terug, dus het resultaat loopt over van
E3totG5: boekstuknummers in E, dagboek in F, bedragen 15,00015.000, 2,5002.500 en 48,00048.000 in G. Een dun blauw kader markeert het overloopbereik. - Typ
BNKinF1en het blok krimpt tot één rij:25-0416,BNK, 9,6809.680. Typ een code die niet voorkomt, zoalsKAS, en je krijgt #BEREKENEN!, omdat geen rij voldoet en er nog geen als_leeg is.
Let op: Staat er iets in E3:G5, dan toont de formule #OVERLOPEN! in plaats van de boekstukken. Houd de cellen onder en naast een FILTER leeg.
Meer over dit voorbeeld: waarom het werkt, 1 variant
Waarom het werkt
Een bereik vergelijken met één cel levert per rij één WAAR of ONWAAR op, en precies die vorm wil FILTER voor opnemen. Omdat matrix en opnemen dezelfde 6 rijen beslaan, hoort de derde WAAR bij de derde rij, en de boekstukken die blijven komen terug in de volgorde waarin ze in de auditfile staan.
Varianten
=FILTER(A2:A7,B2:B7=F1)
=FILTER(A2:A7;B2:B7=F1)
Alleen de boekstuknummers teruggeven: maak matrix één kolom breed; opnemen blijft de dagboektest.
Halfgevorderd
Achterstallige debiteuren om te bevestigen, met een melding als er geen zijn
Uit de ouderdomsanalyse debiteuren van Veldhuis Installatie BV wil je de klanten van wie de factuur meer dan een bepaald aantal dagen te laat is, als input voor saldobevestigingen en de beoordeling van de voorziening. De grens staat in F1, zodat je hem kunt aanpassen. Bij één factuur ontbreekt het aantal dagen, omdat de vervaldatum nooit is ingevuld. Komt geen klant in aanmerking, dan moet de lijst dat melden in plaats van een foutwaarde te tonen.
| Rij | A | B | C | D | E | F | G |
|---|---|---|---|---|---|---|---|
| 1 | Factuurnummer | Klant | Dagen te laat | Meer dan (dagen) | 9090 | ||
| 2 | 25-1101 | Kaya Design BV | 1212 | Bevestigen | Van Dijk Transport BV=FILTER(B2:B7, C2:C7>F1, "Geen klanten om te bevestigen")=FILTER(B2:B7; C2:C7>F1; "Geen klanten om te bevestigen") | ||
| 3 | 25-1102 | Molenaar Bouw BV | Hendriks Metaal BV | ||||
| 4 | 25-1103 | Van Dijk Transport BV | 124124 | Smits Bouw BV | |||
| 5 | 25-1104 | Hendriks Metaal BV | 9191 | ||||
| 6 | 25-1105 | Mulder Horeca BV | 9090 | ||||
| 7 | 25-1106 | Smits Bouw BV | 210210 | ||||
| 8 |
Veeg opzij om alle kolommen te zien
Formule in F2
=FILTER(B2:B7,C2:C7>F1, "Geen klanten om te bevestigen")
=FILTER(B2:B7;C2:C7>F1; "Geen klanten om te bevestigen")
Resultaat: Van Dijk Transport BV / Hendriks Metaal BV / Smits Bouw BVVan Dijk Transport BV / Hendriks Metaal BV / Smits Bouw BV
Stap voor stap
- In
F1staat 90. Excel vergelijkt elke cel vanC2:C7met die grens: 12>90 is ONWAAR, de legeC3telt als 0, dus 0>90 is ONWAAR, 124>90 is WAAR, 91>90 is WAAR, 90>90 is ONWAAR, 210>90 is WAAR. - matrix is alleen
B2:B7, de klantkolom, dus FILTER houdt de derde, vierde en zesde klant: Van Dijk Transport BV, Hendriks Metaal BV en Smits Bouw BV. - De drie namen lopen over van
F2totF4. Hendriks Metaal BV staat erop met 91 dagen en Mulder Horeca BV niet met precies 90, omdat de test 'meer dan 90' is; met >= zouden beide erop staan. - Zet
F1op 365. Geen factuur is meer dan 365 dagen te laat, dus opnemen is zes keer ONWAAR. Omdat als_leeg is opgegeven, toontF2Geen klanten om te bevestigen in plaats van #BEREKENEN!. - Zonder het derde argument zou dezelfde wijziging #BEREKENEN! in
F2achterlaten, en elke formule die naarF2verwijst zou de fout overnemen.
Let op: De lege C3 telt stilletjes als 0. Bij deze test valt daardoor de factuur zonder vervaldatum weg, die je nog bij de klant moet opvolgen, en dezelfde lege cel zou wel voldoen aan een test als C2:C7<10.
Meer over dit voorbeeld: waarom het werkt, nog 1 valkuil, 1 variant
Waarom het werkt
matrix en opnemen hoeven niet even breed te zijn, alleen even hoog: de test draait op kolom C terwijl het antwoord uit kolom B komt. als_leeg wordt alleen gebruikt als elke rij afvalt, dus een normaal bestand geeft de volledige lijst en een schone ouderdomsanalyse een leesbare melding.
Meer om op te letten
- Komen de dagen als tekst uit een export, dan telt tekst in Excel als groter dan elk getal. Elke vergelijking zoals C2:C7>F1 is dan WAAR en de lijst toont alle klanten, ook die pas 12 dagen te laat zijn. Controleer één cel met ISGETAL.
Varianten
=FILTER(A2:C7,C2:C7>F1, "Geen klanten om te bevestigen")
=FILTER(A2:C7;C2:C7>F1; "Geen klanten om te bevestigen")
Geef ook het factuurnummer en de dagen terug: maak matrix breder, A2:C7, en houd dezelfde test.
Gevorderd
Handmatige boekingen boven de uitvoeringsmaterialiteit, de grootste eerst
Bij de journaalpostentest beoordeel je handmatige boekingen van Veldhuis Installatie BV vanaf de uitvoeringsmaterialiteit. Dagboekcode en grens staan in H1 en H2. De lijst moet per boeking het boekstuk, het dagboek, de grootboekrekening en het bedrag tonen, met het grootste bedrag bovenaan, zodat je die als eerste toetst.
| Rij | A | B | C | D | E | F | G | H | I | J | K |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Boekstuk | Dagboek | Grootboekrekening | Bedrag | Dagboek | MEM | |||||
| 2 | 25-0501 | MEM | 45004500 | €12,500.00€ 12.500,00 | Uitvoeringsmaterialiteit | 90009000 | |||||
| 3 | 25-0502 | VRK | 80008000 | €8,400.00€ 8.400,00 | |||||||
| 4 | 25-0503 | MEM | 11001100 | €4,300.00€ 4.300,00 | 25-0504=SORTEREN(FILTER(A2:D8, (B2:B8=H1)*(D2:D8>=H2)), 4, -1)=SORTEREN(FILTER(A2:D8; (B2:B8=H1)*(D2:D8>=H2)); 4; -1) | MEM | 40004000 | €18,750.00€ 18.750,00 | |||
| 5 | 25-0504 | MEM | 40004000 | €18,750.00€ 18.750,00 | 25-0501 | MEM | 45004500 | €12,500.00€ 12.500,00 | |||
| 6 | 25-0505 | INK | 45004500 | €15,200.00€ 15.200,00 | 25-0506 | MEM | 16001600 | €9,900.00€ 9.900,00 | |||
| 7 | 25-0506 | MEM | 16001600 | €9,900.00€ 9.900,00 | |||||||
| 8 | 25-0507 | BNK | 11001100 | €21,000.00€ 21.000,00 | |||||||
| 9 |
Veeg opzij om alle kolommen te zien
Formule in G4
=SORTEREN(FILTER(A2:D8,(B2:B8=H1)*(D2:D8>=H2)), 4, -1)
=SORTEREN(FILTER(A2:D8;(B2:B8=H1)*(D2:D8>=H2)); 4; -1)
Resultaat: 25-0504 | MEM | 4000 | €18,750.00 / 25-0501 | MEM | 4500 | €12,500.00 / 25-0506 | MEM | 1600 | €9,900.0025-0504 | MEM | 4000 | € 18.750,00 / 25-0501 | MEM | 4500 | € 12.500,00 / 25-0506 | MEM | 1600 | € 9.900,00
Stap voor stap
- Excel begint met de eerste test, B2:B8=H1, dagboek is
MEM: WAAR, ONWAAR, WAAR, WAAR, ONWAAR, WAAR, ONWAAR. - De tweede test, D2:D8>=H2, bedrag minstens 9,0009.000: 12,50012.500 WAAR, 8,4008.400 ONWAAR, 4,3004.300 ONWAAR, 18,75018.750 WAAR, 15,20015.200 WAAR, 9,9009.900 WAAR, 21,00021.000 WAAR.
- Door de twee matrices te vermenigvuldigen wordt WAAR 1 en ONWAAR 0, rij voor rij: 1×1=1, 0×0=0, 1×0=0, 1×1=1, 0×1=0, 1×1=1, 0×1=0. Alleen rijen waar beide tests voldoen geven 1, en dat is EN-logica.
- FILTER houdt de eerste, vierde en zesde rij van
A2:D8:25-0501(12,50012.500),25-0504(18,75018.750) en25-0506(9,9009.900), in de volgorde van de bron. - SORTEREN krijgt dat blok van 3 rijen en sorteert het op de 4e kolom, bedrag, met sorteervolgorde -1, aflopend: 18,75018.750, 12,50012.500, 9,9009.900. Het resultaat loopt over van
G4totJ6met25-0504bovenaan. - Zet
H2op 25,00025.000. Geen handmatige boeking is zo groot, dus FILTER heeft niets terug te geven en levert #BEREKENEN!; SORTEREN geeft de fout door, enG4toont #BEREKENEN!. De valkuilen leggen uit waarom als_leeg binnen SORTEREN niet de oplossing is die het lijkt.
Let op: Gebruik je + waar je * bedoelde, (B2:B8=H1)+(D2:D8>=H2), dan wordt EN stilletjes OF: je krijgt elke handmatige boeking plus elke grote boeking in andere dagboeken, 6 rijen in plaats van 3, en de lijst ziet er nog steeds geloofwaardig uit.
Meer over dit voorbeeld: waarom het werkt, nog 2 valkuilen, 2 varianten
Waarom het werkt
Elke vergelijking levert een matrix met één antwoord per rij, en vermenigvuldigen combineert ze positie voor positie, dus een rij blijft alleen als elke factor 1 is. SORTEREN werkt op wat FILTER aanlevert; daarom verwijst kolomnummer 4 naar de vierde kolom van het gefilterde blok en niet naar kolom D van het blad.
Meer om op te letten
- Een dagboekcode die als
MEMmet een spatie aan het eind is geëxporteerd, valt zonder foutmelding uit de lijst. Mist er een boeking die je verwacht, vergelijk dan LENGTE van de twee cellen. - Voeg je als_leeg binnenin toe, FILTER(A2:D8; ...; "Geen boekingen"), dan werkt dat in een normaal bestand maar niet in een leeg resultaat: SORTEREN krijgt dan één tekst en moet sorteren op een vierde kolom die niet bestaat, wat #WAARDE! geeft. Test eerst het aantal, zoals het voorbeeld op niveau Expert doet.
Varianten
=SORTEREN(FILTER(A2:D8,(B2:B8=H1)+(D2:D8>=20000)), 4, -1)
=SORTEREN(FILTER(A2:D8;(B2:B8=H1)+(D2:D8>=20000)); 4; -1)
Bewust OF-logica: elke handmatige boeking, plus elke boeking van 20,00020.000 of meer in een ander dagboek (25-0507 komt erbij).
=SORTEREN.OP(FILTER(A2:C8,(B2:B8=H1)*(D2:D8>=H2)), FILTER(D2:D8, (B2:B8=H1)*(D2:D8>=H2)), -1)
=SORTEREN.OP(FILTER(A2:C8;(B2:B8=H1)*(D2:D8>=H2)); FILTER(D2:D8; (B2:B8=H1)*(D2:D8>=H2)); -1)
Sorteren op bedrag zonder dat te tonen: SORTEREN.OP neemt een aparte sleutel, hier de gefilterde bedragen. Langer, dus alleen de moeite waard als de sleutelkolom verborgen moet blijven.
Expert
Inkoopboekingen rond de jaarwisseling, alleen gekozen kolommen
Voor de afgrenzingstest bij Veldhuis Installatie BV maak je een lijst van de boekingen in dagboek INK tussen 20 december 2025 en 10 januari 2026. Het werkblad met de auditfile heeft vijf kolommen, maar je werkpapier heeft alleen boekstuk, grootboekrekening en bedrag nodig. De formule moet zijn onderdelen een naam geven voor de volgende beoordelaar, een venster zonder boekingen afhandelen, en kolommen kiezen zonder de tabel in een andere volgorde over te typen.
| Rij | A | B | C | D | E | F | G | H | I | J | K |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Boekstuk | Datum | Dagboek | Grootboekrekening | Bedrag | Van | 20-12-2025 | ||||
| 2 | 25-0871 | 12-12-2025 | INK | 45004500 | €3,200.00€ 3.200,00 | Tot en met | 10-01-2026 | ||||
| 3 | 25-0885 | 18-12-2025 | BNK | 16001600 | €5,400.00€ 5.400,00 | Dagboek | INK | ||||
| 4 | 25-0893 | 23-12-2025 | INK | 40004000 | €1,850.50€ 1.850,50 | ||||||
| 5 | 25-0902 | 29-12-2025 | INK | 45004500 | €7,425.00€ 7.425,00 | 25-0893=LET( gegevens, A2:E9, geboekt, B2:B9, journaal, C2:C9, behoud, (geboekt >= I1) * (geboekt <= I2) * (journaal = I3), ALS(SOM(behoud) = 0, "Geen boekingen in dit venster", FILTER(FILTER(gegevens, behoud), {1,0,0,1,1})) )=LET( gegevens; A2:E9; geboekt; B2:B9; journaal; C2:C9; behoud; (geboekt >= I1) * (geboekt <= I2) * (journaal = I3); ALS(SOM(behoud) = 0; "Geen boekingen in dit venster"; FILTER(FILTER(gegevens; behoud); {1\0\0\1\1})) ) | 40004000 | €1,850.50€ 1.850,50 | |||
| 6 | 25-0905 | 30-12-2025 | VRK | 80008000 | €12,100.00€ 12.100,00 | 25-0902 | 45004500 | €7,425.00€ 7.425,00 | |||
| 7 | 25-0911 | 03-01-2026 | INK | 45004500 | €2,640.00€ 2.640,00 | 25-0911 | 45004500 | €2,640.00€ 2.640,00 | |||
| 8 | 26-0003 | 07-01-2026 | MEM | 45004500 | €980.00€ 980,00 | ||||||
| 9 | 26-0012 | 14-01-2026 | INK | 40004000 | €4,100.00€ 4.100,00 | ||||||
| 10 |
Veeg opzij om alle kolommen te zien
Formule in H5
=LET( gegevens,A2:E9, geboekt, B2:B9, journaal, C2:C9, behoud, (geboekt >= I1) * (geboekt <= I2) * (journaal = I3), ALS(SOM(behoud) = 0, "Geen boekingen in dit venster", FILTER(FILTER(gegevens, behoud), {1, 0, 0, 1, 1})) )
=LET( gegevens;A2:E9; geboekt; B2:B9; journaal; C2:C9; behoud; (geboekt >= I1) * (geboekt <= I2) * (journaal = I3); ALS(SOM(behoud) = 0; "Geen boekingen in dit venster"; FILTER(FILTER(gegevens; behoud); {1\ 0\ 0\ 1\ 1})) )
Resultaat: 25-0893 | 4000 | €1,850.50 / 25-0902 | 4500 | €7,425.00 / 25-0911 | 4500 | €2,640.0025-0893 | 4000 | € 1.850,50 / 25-0902 | 4500 | € 7.425,00 / 25-0911 | 4500 | € 2.640,00
Stap voor stap
- LET geeft de onderdelen een naam: gegevens is
A2:E9, geboekt isB2:B9, journaal isC2:C9. Er wordt nog niets berekend. - behoud vermenigvuldigt drie tests per rij. Geboekt op of na 20 december 2025: 0, 0, 1, 1, 1, 1, 1, 1. Op of voor 10 januari 2026: 1, 1, 1, 1, 1, 1, 1, 0. Dagboek is
INK: 1, 0, 1, 1, 0, 1, 0, 1. - Rij voor rij zijn de producten 0, 0, 1, 1, 0, 1, 0, 0.
25-0871is te vroeg,26-0012te laat,25-0885is een bankboeking,25-0905een verkoopboeking en26-0003een memoriaalboeking. behoud bevat een 1 voor25-0893,25-0902en25-0911. - SOM(behoud) is 3, niet 0, dus ALS kiest de tak met FILTER. De binnenste FILTER(gegevens; behoud) geeft de drie rijen terug met alle vijf de kolommen.
- De buitenste FILTER krijgt {1\0\0\1\1} als opnemen. Dat is één rij van vijf kolommen, even breed als het blok, dus FILTER houdt nu kolommen over in plaats van rijen: boekstuk, grootboekrekening en bedrag, en laat datum en dagboek vallen.
- Het resultaat loopt over van H5 tot J7: 25-0893, 4000, 1,850.501.850,50; 25-0902, 4500, 7,425.007.425,00; 25-0911, 4500, 2,640.002.640,00. Zet I2 op 22 december 2025 en geen INK-boeking valt in het venster, SOM(behoud) is 0, en H5 toont Geen boekingen in dit venster.
Let op: De omgekeerde fout is de tests optellen in plaats van vermenigvuldigen. (geboekt >= I1) + (geboekt <= I2) + (journaal = I3) is hier voor elke rij minstens 1, dus alle 8 boekingen komen terug, en een afgrenzingslijst die 3 rijen hoort te tonen lijkt alleen druk, niet fout.
Meer over dit voorbeeld: waarom het werkt, nog 2 valkuilen, 1 variant
Waarom het werkt
opnemen accepteert ook een horizontale matrix die even breed is als de gegevens, en dan kiest FILTER kolommen; door een rijfilter in een kolomfilter te nesten kies je beide tegelijk. De expliciete test SOM(behoud) = 0 is nodig omdat als_leeg in de binnenste FILTER één tekst aan de buitenste zou geven, waarvan de matrix voor opnemen, met vijf kolommen, dan niet meer past, en het resultaat zou #WAARDE! zijn.
Gebruik deze opbouw niet als het bestand in Excel 2019 of ouder moet openen, of als het rapport eenmalig is: daar levert Geavanceerd filter (Gegevens, Geavanceerd, kopiëren naar andere locatie) dezelfde rijen als vaste waarden, met als nadeel dat je het met de hand opnieuw moet uitvoeren zodra de bron verandert.
Meer om op te letten
- Moet de einddatum de hele laatste dag meenemen terwijl de bron datum-tijdwaarden bevat, dan laat geboekt <= I2 de boekingen weg die op 10 januari na middernacht zijn gemaakt. Gebruik geboekt < I2 + 1 bij datum-tijdgegevens.
- FILTER over hele kolommen, zoals A:E, laat Excel bij elke herberekening ongeveer een miljoen rijen testen. Wijs het exacte bereik aan of, beter, een tabel die met de gegevens meegroeit.
Varianten
=FILTER(A2:E9,(B2:B9>=I1)*(B2:B9<=I2)*(C2:C9=I3), "Geen boekingen in dit venster")
=FILTER(A2:E9;(B2:B9>=I1)*(B2:B9<=I2)*(C2:C9=I3); "Geen boekingen in dit venster")
Zonder LET en zonder kolomfilter: alle vijf de kolommen, en als_leeg is hier veilig omdat er niets omheen genest is.
Veelgemaakte fouten
| Symptoom | Oorzaak | Oplossing |
|---|---|---|
| #WAARDE! of een verkeerde lijst met EN of OF | Je combineert twee voorwaarden met EN(B2:B8=H1; D2:D8>=H2) en krijgt #WAARDE! of een verkeerd resultaat in plaats van de lijst. | EN en OF persen een hele matrix samen tot één WAAR of ONWAAR, maar het argument opnemen heeft één WAAR of ONWAAR per rij nodig, dus FILTER geeft #WAARDE! of een verkeerd resultaat. Vermenigvuldig de tests voor EN, (B2:B8=H1)*(D2:D8>=H2), en tel ze op voor OF, zodat elke rij een eigen antwoord houdt. |
| #BEREKENEN! op dagen dat niets voldoet | Een rapport dat op een FILTER bouwt, loopt vast op de dagen dat geen enkele rij voldoet. | Geef als_leeg op, bijvoorbeeld een tekst als Geen resultaten, of een lege tekst als de cel leeg moet lijken. |
| #OVERLOPEN! terwijl de formule klopt | Het resultaat is #OVERLOPEN!, terwijl de formule klopt. | Er staat al iets in de cellen die de lijst nodig heeft, vaak een vergeten waarde of een spatie. Klik op de fout, kies Belemmerende cellen selecteren en maak ze leeg. |
| #WAARDE! als matrix en opnemen niet even hoog zijn | matrix is A2:C50 maar opnemen is B2:B49, en het resultaat is #WAARDE!. | Beide moeten precies dezelfde rijen beslaan. Een tabel met gestructureerde verwijzingen houdt ze gelijk als er rijen bijkomen. |
Gebruikt in combinaties
- Alle facturen van één leverancier in één cel met TEKST.COMBINEREN en FILTERKies met FILTER de factuurnummers van één leverancier en voeg ze met TEKST.COMBINEREN samen tot één regel, met een melding als de leverancier geen facturen heeft.Excel 2021 of nieuwer (Deze combinatie vereist Excel 2021 of nieuwer)
- Facturen die in het grootboek ontbreken met FILTER, ISNB en X.VERGELIJKENToon de facturen op de specificatie van de debiteuren die niet in het grootboek staan: X.VERGELIJKEN zoekt elke factuur op, ISNB maakt van elke misser WAAR en FILTER houdt die rijen over, met een melding als er niets ontbreekt.Excel 2021 of nieuwer (Deze combinatie vereist Excel 2021 of nieuwer)
- De vijf grootste handmatige boekingen met NEMEN, SORTEREN en FILTERToon de vijf grootste handmatige (MEM) journaalregels voor de journaalpostentest: FILTER houdt de MEM-regels over, SORTEREN zet het grootste bedrag bovenaan en NEMEN houdt de eerste vijf rijen.Excel 2024 of nieuwer (Deze combinatie vereist Excel 2024 of nieuwer)
- Afgrenzingstoets rond het jaareinde met FILTER en SOMMarkeer de verkoopfacturen waarvan de boekingsdatum en de leverdatum aan verschillende kanten van het jaareinde liggen en tel ze op: twee vergelijkingen met de jaareinddatum geven per datum WAAR of ONWAAR, FILTER houdt de facturen over waarbij die twee verschillen en SOM telt ze op.Excel 2021 of nieuwer (Deze combinatie vereist Excel 2021 of nieuwer)
- Verschillen boven de rapportagegrens met LET, FILTER, HOR.STAPELEN en ABSStem het grootboek per debiteur af op de specificatie van de cliënt en toon alleen de verschillen boven de rapportagegrens: LET geeft de verschillen één keer een naam, HOR.STAPELEN zet er de debiteur naast, FILTER houdt de rijen over waarvan ABS boven de grens uitkomt.Excel 2024 of nieuwer (Deze combinatie vereist Excel 2024 of nieuwer)
- Dubbele factuurnummers in twee exportsZet twee maandelijkse inkoopexports onder elkaar en bewaar elk factuurnummer dat vaker dan één keer voorkomt, met VERT.STAPELEN, UNIEK, X.VERGELIJKEN, ISNB en FILTER.Excel 2024 of nieuwer (Deze combinatie vereist Excel 2024 of nieuwer)
- Boekingen in het weekend en op feestdagen met FILTER, WEEKDAG en AANTAL.ALSToon de journaalposten met een datum op zaterdag, zondag of een Nederlandse feestdag: WEEKDAG markeert de weekenden, AANTAL.ALS toetst de datum aan een feestdagenlijst en FILTER houdt de gemarkeerde rijen over.Excel 2021 of nieuwer (Deze combinatie vereist Excel 2021 of nieuwer)
- De klant opzoeken met een regexHaal het factuurnummer met REGEXEXTRACT uit een bankomschrijving, maak er een patroon van en laat X.ZOEKEN dat patroon vergelijken met een factuurlijst waarin nummers op verschillende manieren zijn getypt.Excel voor Microsoft 365 (Deze combinatie vereist Excel voor Microsoft 365)
- Hiatentest op factuurnummers met FILTER, REEKS en X.VERGELIJKENVind de ontbrekende nummers in een reeks verkoopfacturen: REEKS maakt elk nummer van het laagste tot het hoogste, X.VERGELIJKEN zoekt ze op in het grootboek, ISNB markeert de missers en FILTER toont ze, met een melding als er geen hiaten zijn.Excel 2021 of nieuwer (Deze combinatie vereist Excel 2021 of nieuwer)
- Boekstukken waarbij debet niet gelijk is aan creditToon de boekstukken waarvan het debet- en creditbedrag verschillen: je pakt de unieke boekstuknummers, telt debet en credit per boekstuk op met SOMMEN.ALS en houdt met FILTER over HOR.STAPELEN de ongelijke over, alles benoemd in één LET.Excel 2024 of nieuwer (Deze combinatie vereist Excel 2024 of nieuwer)
- Boekingen met ronde bedragen vinden met FILTER, REST, AFRONDEN en ABSMarkeer grootboekregels waarvan het bedrag een exact veelvoud van 1.000 is (en boven een minimum ligt): ABS haalt het teken weg, AFRONDEN haalt kleine rekenverschillen weg, REST toetst het veelvoud en FILTER toont de regels.Excel 2021 of nieuwer (Deze combinatie vereist Excel 2021 of nieuwer)