EN
AND in Engelstalige Excel
Geeft alleen WAAR als alle voorwaarden die je opgeeft WAAR zijn, en ONWAAR zodra er één niet klopt.
Laatst bijgewerkt: 13 oktober 2026
| Rij | A | B | C | D |
|---|---|---|---|---|
| 1 | Dagboek | Boekstuk | Bedrag | Onderzoeken |
| 2 | MEM | 25-0412 | €12,500.00€ 12.500,00 | WAARWAAR=EN(A2="MEM", C2>=10000)=EN(A2="MEM"; C2>=10000) |
| 3 | VRK | 25-0413 | €48,000.00€ 48.000,00 | |
| 4 | MEM | 25-0414 | €8,200.00€ 8.200,00 | |
| 5 | MEM | 25-0415 | €10,000.00€ 10.000,00 | |
| 6 | BNK | 25-0416 | €15,000.00€ 15.000,00 |
Veeg opzij om alle kolommen te zien
Resultaat: WAAR
=EN(A2="MEM",C2>=10000)
=EN(A2="MEM";C2>=10000)
Wat EN doet en wanneer je het gebruikt
Wat het doet: het controleert meerdere voorwaarden tegelijk en geeft alleen WAAR als ze allemaal kloppen, bijvoorbeeld een journaalpost boven de grens die handmatig is geboekt.
Wanneer je het gebruikt: binnen ALS als de uitkomst van meer dan één voorwaarde afhangt, of los als markering. Bij de tegenhanger OF hoeft maar één voorwaarde te kloppen.
Hoe Excel de functie berekent
Excel rekent alle argumenten van links naar rechts uit en houdt niet halverwege op. Elk argument wordt WAAR of ONWAAR; bij bereiken en matrices telt elk element mee, behalve lege cellen en tekst, die worden overgeslagen.
De uitkomst volgt uit de waarden die overblijven:
- minstens één waarde is ONWAAR: ONWAAR
- alle waarden zijn WAAR: WAAR
- na het overslaan blijft geen logische waarde over: #WAARDE!
- een foutwaarde in een argument: die fout is de hele uitkomst
Let op: In FILTER of een SOM over matrices is EN de verkeerde keuze, want EN geeft één waarde voor het hele bereik. Vermenigvuldig daar de voorwaarden met elkaar.
Denkmodel
Een rij schakelaars in serie: de lamp brandt alleen als alle schakelaars aan staan, en één schakelaar uit is genoeg om hem uit te houden.
Begrippen op deze pagina: foutwaarde, matrix, argument, bereik, cel
Syntaxis
Officiële documentatie van ENEN(logisch1,[logisch2], ...)
EN(logisch1;[logisch2]; ...)
| Argument | Soort | Betekenis |
|---|---|---|
logisch1 | Verplicht | De eerste voorwaarde, meestal een vergelijking zoals B2>=0,95. |
logisch2 | Optioneel | Nog meer voorwaarden, tot 255 in totaal. Ze moeten allemaal WAAR zijn. |
Geeft terug:WAAR als elke voorwaarde WAAR is, anders ONWAAR
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
Grote handmatige journaalposten markeren
Bij je journaalpostentest wil je de handmatige boekingen in het memoriaal (dagboek MEM) selecteren met een bedrag van minstens 10,00010.000, want die bekijk je als eerste. Je wilt een kolom die per journaalregel WAAR of ONWAAR aangeeft.
| Rij | A | B | C | D | E |
|---|---|---|---|---|---|
| 1 | Dagboek | Boekstuk | Bedrag | Onderzoeken | |
| 2 | MEM | 25-0412 | €12,500.00€ 12.500,00 | WAARWAAR=EN(A2="MEM", C2>=10000)=EN(A2="MEM"; C2>=10000) | |
| 3 | VRK | 25-0413 | €48,000.00€ 48.000,00 | ||
| 4 | MEM | 25-0414 | €8,200.00€ 8.200,00 | ||
| 5 | MEM | 25-0415 | €10,000.00€ 10.000,00 | ||
| 6 | BNK | 25-0416 | €15,000.00€ 15.000,00 | ||
| 7 |
Veeg opzij om alle kolommen te zien
Formule in D2
=EN(A2="MEM",C2>=10000)
=EN(A2="MEM";C2>=10000)
Resultaat: WAAR
Stap voor stap
- Excel rekent logisch1 uit: in
A2staatMEM, dus A2="MEM" is WAAR. - Dan logisch2: in
C2staat 12,50012.500, en 12500>=10000 is WAAR. - Beide argumenten zijn WAAR, dus EN geeft WAAR voor boekstuk
25-0412. - In
D3:VRKis nietMEM, dus A3="MEM" is ONWAAR, ook al is 48000>=10000 WAAR. Eén ONWAAR is genoeg, dus de verkoopboeking krijgt ONWAAR, ondanks het hoogste bedrag. D4toetst25-0414:MEMis WAAR, maar 8200>=10000 is ONWAAR, dus ONWAAR.D5zit precies op de grens:MEMkomt overeen en 10000>=10000 is WAAR, dus WAAR.D6is eenBNK-regel, dus ONWAAR.
Let op: Schrijft de export het dagboek als "MEM " met een spatie erachter, dan is A2="MEM" voor elke handmatige boeking ONWAAR en wordt er niets gemarkeerd. Maak de kolom eerst schoon met SPATIES.WISSEN, of vergelijk SPATIES.WISSEN(A2)="MEM".
Meer over dit voorbeeld: waarom het werkt
Waarom het werkt
Elke vergelijking levert haar eigen WAAR of ONWAAR op, en EN laat alleen WAAR door als er geen enkele ONWAAR bij zit. De volgorde van de argumenten maakt niet uit, want EN bekijkt ze altijd allemaal.
Halfgevorderd
Een confirmatie alleen afdoen als die binnen is en binnen de grens valt
Je hebt saldobevestigingen naar debiteuren gestuurd. Op het blad staat per relatie het verschil tussen het grootboek en het bevestigde saldo, en een kolom waarin je WAAR zet zodra de bevestiging terug is.
Een relatie is afgedaan als de bevestiging binnen is en het verschil hooguit de drempel van 750 in G1 is. Een paar bevestigingen is nog niet binnen, dus daar is de cel nog leeg, en die moeten openstaand blijven.
| Rij | A | B | C | D | E | F | G | H |
|---|---|---|---|---|---|---|---|---|
| 1 | Relatie | Verschil | Bevestigd | Status | Drempel | 750750 | ||
| 2 | D1001 | €120.00€ 120,00 | Openstaand=ALS(EN(C2=WAAR, B2<=$G$1), "Afgedaan", "Openstaand")=ALS(EN(C2=WAAR; B2<=$G$1); "Afgedaan"; "Openstaand") | |||||
| 3 | D1002 | €0.00€ 0,00 | WAAR | |||||
| 4 | D1003 | €3,400.00€ 3.400,00 | WAAR | |||||
| 5 | D1004 | €300.00€ 300,00 | ONWAAR | |||||
| 6 | D1005 | €750.00€ 750,00 | WAAR | |||||
| 7 |
Veeg opzij om alle kolommen te zien
Formule in D2
=ALS(EN(C2=WAAR,B2<=$G$1), "Afgedaan", "Openstaand")
=ALS(EN(C2=WAAR;B2<=$G$1); "Afgedaan"; "Openstaand")
Resultaat: Openstaand
Stap voor stap
- Excel rekent eerst de EN binnen de ALS uit.
C2is leeg (voorD1001is nog geen bevestiging binnen), en C2=WAAR vergelijkt die lege cel met WAAR. Een lege cel is niet WAAR, dus de vergelijking geeft ONWAAR. - De tweede voorwaarde is B2<=$G$1: 120<=750, en dat is WAAR.
- EN krijgt ONWAAR en WAAR binnen en geeft ONWAAR. ALS krijgt dus ONWAAR als test en geeft Openstaand.
- Kijk nu naar de kortere EN(C2; B2<=$G$1). Daar gaat
C2als losse verwijzing mee, en lege cellen in een verwijzing slaat EN over, dus alleen 120<=750 telt. De uitkomst is WAAR en de relatie zonder bevestiging staat op Afgedaan. - In de rijen eronder:
D1002is WAAR en 0<=750, dus Afgedaan.D1003is WAAR, maar 3400<=750 is ONWAAR, dus Openstaand.D1004is ONWAAR (bevestiging niet binnen), dus Openstaand.D1005is WAAR en 750<=750, dus Afgedaan. - Zet
C2op WAAR, dan wordt de eerste voorwaarde WAAR en springtD2op Afgedaan.
Let op: Typt iemand ja in kolom C in plaats van WAAR, dan is C2=WAAR ONWAAR en blijft de relatie voor altijd Openstaand. Werk met gegevensvalidatie, zodat er in de kolom alleen WAAR of ONWAAR kan staan.
Meer over dit voorbeeld: waarom het werkt, nog 1 valkuil, 1 variant
Waarom het werkt
Een vergelijking levert altijd WAAR of ONWAAR op, ook als één kant leeg is, dus EN krijgt een echte waarde om te beoordelen. Geef je de losse cel mee, dan krijgt EN een lege verwijzing, en die slaat de functie juist over. C2=WAAR lijkt dubbelop, maar het is precies wat 'nog niet ontvangen' omzet in ONWAAR.
Meer om op te letten
- Verschillen uit een export kunnen negatief zijn, en -3400<=750 is WAAR. Vergelijk het absolute verschil met ABS(B2)<=$G$1 als beide richtingen ertoe doen.
Varianten
=ALS(EN(C2=WAAR,B2<=$G$1), 0, B2)
=ALS(EN(C2=WAAR;B2<=$G$1); 0; B2)
Geeft het nog openstaande verschil terug in plaats van een label, zodat een SOM over kolom D het totaal oplevert dat je nog moet verklaren.
GevorderdExcel 2021 of nieuwer (Dit voorbeeld vereist Excel 2021 of nieuwer)
Journaalposten uit één dagboek vanaf de uitvoeringsmaterialiteit tonen
Voor je journaalpostentest wil je een actuele lijst met boekstuknummers uit het dagboek in F1 met een bedrag van minstens de uitvoeringsmaterialiteit in F2. Verandert een van die twee cellen, dan moet de lijst meeveranderen.
FILTER heeft per rij één WAAR of ONWAAR nodig, en dat kan EN niet leveren, dus vermenigvuldig je de twee voorwaarden met elkaar.
| Rij | A | B | C | D | E | F | G |
|---|---|---|---|---|---|---|---|
| 1 | Boekstuk | Dagboek | Bedrag | Dagboek | MEM | ||
| 2 | 25-0501 | MEM | €42,000.00€ 42.000,00 | Uitvoeringsmaterialiteit | 2500025000 | ||
| 3 | 25-0502 | VRK | €85,000.00€ 85.000,00 | Boekstukken | 25-0501=FILTER(A2:A8, (B2:B8=F1) * (C2:C8>=F2))=FILTER(A2:A8; (B2:B8=F1) * (C2:C8>=F2)) | ||
| 4 | 25-0503 | MEM | €9,500.00€ 9.500,00 | 25-0504 | |||
| 5 | 25-0504 | MEM | €25,000.00€ 25.000,00 | 25-0506 | |||
| 6 | 25-0505 | BNK | €31,000.00€ 31.000,00 | ||||
| 7 | 25-0506 | MEM | €61,500.00€ 61.500,00 | ||||
| 8 | 25-0507 | INK | €4,200.00€ 4.200,00 | ||||
| 9 |
Veeg opzij om alle kolommen te zien
Formule in F3
=FILTER(A2:A8,(B2:B8=F1) * (C2:C8>=F2))
=FILTER(A2:A8;(B2:B8=F1) * (C2:C8>=F2))
Resultaat: 25-0501 / 25-0504 / 25-050625-0501 / 25-0504 / 25-0506
Stap voor stap
- Excel rekent de eerste voorwaarde uit voor alle zeven rijen: B2:B8=F1 vergelijkt elk dagboek met MEM en geeft WAAR, ONWAAR, WAAR, WAAR, ONWAAR, WAAR, ONWAAR.
- De tweede voorwaarde, C2:C8>=F2 met F2 = 25000, geeft WAAR (42000), WAAR (85000), ONWAAR (9500), WAAR (25000), WAAR (31000), WAAR (61500), ONWAAR (4200).
- De * maakt van WAAR een 1 en van ONWAAR een 0 en vermenigvuldigt rij voor rij: 1×1, 0×1, 1×0, 1×1, 0×1, 1×1, 0×0, dus 1, 0, 0, 1, 0, 1, 0. Alleen waar beide voorwaarden kloppen, staat een 1: dat is EN-logica, maar dan per rij.
- FILTER houdt de rijen van
A2:A8over waar in die matrix een 1 staat: de eerste, de vierde en de zesde. Het resultaat loopt over vanF3totF5:25-0501,25-0504,25-0506. 25-0504staat erbij omdat >= de 25000 zelf meetelt. ZetF2op 50000 en de lijst krimpt tot25-0506.
Let op: FILTER(A2:A8; EN(B2:B8=F1; C2:C8>=F2)) ligt voor de hand, maar EN perst alle veertien tests samen tot één ONWAAR. FILTER krijgt dan één waarde voor zeven rijen en geeft #WAARDE!.
Meer over dit voorbeeld: waarom het werkt, nog 2 valkuilen, 2 varianten
Waarom het werkt
Bij enen en nullen werkt vermenigvuldigen als EN: een product is alleen 1 als elke factor 1 is. Anders dan EN werkt de operator * element voor element, dus elke rij houdt haar eigen antwoord en FILTER krijgt voor opnemen een matrix die even hoog is als de gegevens.
Meer om op te letten
- Met > in plaats van >= valt 25-0504, met precies 25000, ongemerkt weg. Er verschijnt geen fout; de lijst is alleen één boekstuk korter. Test daarom met een waarde die precies op de grens ligt.
- Voldoet geen enkele rij, dan geeft FILTER #BEREKENEN!. Met een derde argument, bijvoorbeeld een tekst, toon je in dat geval een melding.
Varianten
=SOM((B2:B8=F1) * (C2:C8>=F2))
=SOM((B2:B8=F1) * (C2:C8>=F2))
Telt de boekstukken die voldoen in plaats van ze op te sommen: de enen tellen op tot 3.
=AANTALLEN.ALS(B2:B8,F1, C2:C8, ">=" & F2)
=AANTALLEN.ALS(B2:B8;F1; C2:C8; ">=" & F2)
AANTALLEN.ALS combineert de criteria zelf al met EN, zonder vermenigvuldiging. Handig als je alleen wilt tellen; heb je de rijen zelf nodig, gebruik dan de vermenigvuldiging.
ExpertExcel 2024 of nieuwer (Dit voorbeeld vereist Excel 2024 of nieuwer)
Alle journaalregels controleren met één overlopende formule
Voordat je op een XAF-auditfile-export vertrouwt, moet elke journaalregel drie volledigheidscontroles doorstaan: periode minstens 1, periode hooguit 12 en een ingevulde grootboekrekening. Je wilt één formule die per regel WAAR of ONWAAR geeft, die meegroeit met de export en die zo leesbaar is dat een collega er later een vierde controle aan kan toevoegen.
| Rij | A | B | C | D | E |
|---|---|---|---|---|---|
| 1 | Boekstuk | Periode | Grootboekrekening | Geldig | |
| 2 | 25-0601 | 33 | 80008000 | WAAR=BYROW(A2:C7, LAMBDA(regel, LET( periode, INDEX(regel, 2), rekening, INDEX(regel, 3), EN(periode >= 1, periode <= 12, rekening <> "") ) ))=BYROW(A2:C7; LAMBDA(regel; LET( periode; INDEX(regel; 2); rekening; INDEX(regel; 3); EN(periode >= 1; periode <= 12; rekening <> "") ) )) | |
| 3 | 25-0602 | 1313 | 11001100 | ONWAAR | |
| 4 | 25-0603 | 66 | ONWAAR | ||
| 5 | 25-0604 | 00 | 40004000 | ONWAAR | |
| 6 | 25-0605 | 1212 | 13001300 | WAAR | |
| 7 | 25-0606 | 45004500 | ONWAAR | ||
| 8 |
Veeg opzij om alle kolommen te zien
Formule in D2
=BYROW(A2:C7,LAMBDA(regel, LET( periode, INDEX(regel, 2), rekening, INDEX(regel, 3), EN(periode >= 1, periode <= 12, rekening <> "") ) ))
=BYROW(A2:C7;LAMBDA(regel; LET( periode; INDEX(regel; 2); rekening; INDEX(regel; 3); EN(periode >= 1; periode <= 12; rekening <> "") ) ))
Resultaat: WAAR / ONWAAR / ONWAAR / ONWAAR / WAAR / ONWAARWAAR / ONWAAR / ONWAAR / ONWAAR / WAAR / ONWAAR
Stap voor stap
- BYROW geeft
A2:C7rij voor rij door aan de LAMBDA, onder de naam regel. De eerste regel isA2:C2:25-0601, 3, 8000. - LET geeft de onderdelen een naam: periode is INDEX(regel; 2), de tweede cel van de rij, 3; rekening is INDEX(regel; 3), 8000.
- EN rekent 3 >= 1 uit (WAAR), 3 <= 12 (WAAR) en 8000 <> "" (WAAR). Alle drie kloppen, dus de eerste regel krijgt WAAR.
- Regel 2 valt af op 13 <= 12. In regel 3 is de grootboekrekening leeg, en "" <> "" is ONWAAR. Omdat de lege cel in een vergelijking staat, telt hij als mislukte controle en wordt hij niet overgeslagen.
- Regel 4 valt af op 0 >= 1. Regel 5 (12, rekening 1300) komt erdoor. In regel 6 is de periode leeg; in een vergelijking telt dat als 0, dus 0 >= 1 is ONWAAR.
- BYROW zet de zes antwoorden onder elkaar en laat ze overlopen van
D2totD7: WAAR, ONWAAR, ONWAAR, ONWAAR, WAAR, ONWAAR. ZetB3op 11 en de tweede regel wordt WAAR.
Let op: De omgekeerde fout is EN(B2:B7 >= 1; B2:B7 <= 12; C2:C7 <> "") zonder BYROW. Dat geeft één ONWAAR in D2, wat eruitziet als de uitkomst voor de eerste regel, terwijl het in werkelijkheid betekent dat niet alle regels in orde zijn.
Meer over dit voorbeeld: waarom het werkt, nog 1 valkuil, 1 variant
Waarom het werkt
EN geeft altijd één antwoord voor al zijn argumenten samen, dus op een heel bereik krijg je nooit een antwoord per rij. BYROW lost dat op door de LAMBDA voor elke rij apart aan te roepen; binnen zo'n aanroep ziet EN alleen de waarden van die ene rij.
LET geeft de kolommen een naam, dus een vierde controle is één extra voorwaarde in de EN. Gebruik deze opbouw niet bij een journaal van honderdduizenden regels: een LAMBDA die per rij wordt aangeroepen, is merkbaar trager dan rekenen met matrices.
Het alternatief is de vermenigvuldiging hieronder: sneller, en voor deze drie controles even goed, maar lastig te lezen zodra je OF-logica of tekstcontroles nodig hebt.
Meer om op te letten
- Komen de perioden binnen als tekst (een 3 met een apostrof ervoor), dan is "3" >= 1 WAAR, omdat tekst in Excel hoger staat dan elk getal, en om dezelfde reden is "3" <= 12 ONWAAR. Regels vallen dan af om een reden die je op het scherm niet ziet. Controleer de kolom met ISGETAL.
Varianten
=(B2:B7 >= 1) * (B2:B7 <= 12) * (C2:C7 <> "") = 1
=(B2:B7 >= 1) * (B2:B7 <= 12) * (C2:C7 <> "") = 1
Dezelfde drie controles als matrixberekening: het product is alleen 1 als alles klopt, en = 1 maakt er weer WAAR of ONWAAR van. Sneller bij grote exportbestanden.
Veelgemaakte fouten
| Symptoom | Oorzaak | Oplossing |
|---|---|---|
| WAAR terwijl een cel nog leeg is | EN(C2; D2) geeft WAAR, terwijl C2 nog leeg is. | Een lege cel die je als verwijzing meegeeft, slaat EN over, dus alleen D2 wordt beoordeeld. Vergelijk daarom expliciet: EN(C2=WAAR; D2=WAAR). Dan maakt de lege cel de vergelijking ONWAAR. |
| ONWAAR op elke rij bij een bereiktest | Je schreef =10<=B2<=20 om te kijken of een waarde binnen een bandbreedte valt, en de uitkomst is op elke rij ONWAAR. | Excel vergelijkt van links naar rechts: 10<=B2 geeft WAAR, en daarna is WAAR<=20 ONWAAR, omdat een logische waarde in Excel hoger staat dan elk getal. Schrijf EN(B2>=10; B2<=20). |
| Eén WAAR of ONWAAR in plaats van één per rij | Je gebruikte EN(B2:B8=F1; C2:C8>=F2) als argument opnemen van FILTER en kreeg één enkele WAAR of ONWAAR, in plaats van één per rij. | De voorwaarde moet per rij één antwoord geven. Het product (B2:B8=F1) * (C2:C8>=F2) geeft per rij een 1 of een 0. |
Gebruikt in combinaties
- 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)