MIN
MIN in Engelstalige Excel
Geeft het kleinste getal uit de argumenten; lege cellen en tekst in bereiken tellen niet mee.
Laatst bijgewerkt: 13 oktober 2026
| Rij | A | B | C | D |
|---|---|---|---|---|
| 1 | Periode | Eindsaldo | Laagste saldo | |
| 2 | 11 | €48,250.00€ 48.250,00 | €12,780.50€ 12.780,50=MIN(B2:B7)=MIN(B2:B7) | |
| 3 | 22 | €31,400.00€ 31.400,00 | ||
| 4 | 33 | €12,780.50€ 12.780,50 | ||
| 5 | 44 | €27,900.00€ 27.900,00 | ||
| 6 | 55 | €41,350.00€ 41.350,00 | ||
| 7 | 66 | €19,600.00€ 19.600,00 |
Veeg opzij om alle kolommen te zien
Resultaat: €12,780.50€ 12.780,50
=MIN(B2:B7)
=MIN(B2:B7)
Wat MIN doet en wanneer je het gebruikt
Wat het doet: het geeft het kleinste getal uit de waarden die je opgeeft, bijvoorbeeld de laagste offerte van een leverancier.
Wanneer je het gebruikt: om de laagste prijs, de vroegste datum of de kortste tijd te vinden. Je begrenst er ook een waarde mee: MIN(bedrag; limiet) komt nooit boven de limiet uit, handig voor een maximum voor onkosten of een begrensde bonus. Zoek je de laagste waarde onder een voorwaarde, gebruik dan MIN.ALS.VOORWAARDEN.
Hoe Excel de functie berekent
Excel haalt de waarden uit elk argument. Uit een bereik of celverwijzing neemt het alleen getallen mee; lege cellen, tekst en WAAR of ONWAAR laat het liggen. Een waarde die je rechtstreeks in de formule typt, zet Excel zo mogelijk om.
Van alles wat overblijft, houdt Excel de kleinste waarde. Vond het helemaal geen getal, dan is de uitkomst 0; bevat een cel een foutwaarde, dan geeft MIN die fout terug.
MIN geeft altijd één getal. Geef je het een hele kolom plus een plafond, dan krijg je de kleinste van allemaal terug, geen kolom waarin elke waarde is begrensd.
Let op: Betekent een 0 in de gegevens 'geen waarde' en niet echt nul, dan geeft MIN 0 terug. Gebruik in plaats daarvan MIN.ALS.VOORWAARDEN met ">0".
Denkmodel
Een lage deuropening: wat er ook doorheen gaat, komt er niet hoger uit dan het kozijn. MIN(x; plafond) is de deuropening, x is wat erdoorheen gaat.
Begrippen op deze pagina: celverwijzing, foutwaarde, argument, bereik, cel
Syntaxis
Officiële documentatie van MINMIN(getal1,[getal2], ...)
MIN(getal1;[getal2]; ...)
| Argument | Soort | Betekenis |
|---|---|---|
getal1 | Verplicht | Het eerste getal, de eerste cel of het eerste bereik om te vergelijken. |
getal2 | Optioneel | Meer getallen, cellen of bereiken; een vast getal hier werkt als bovengrens. |
Geeft terug:Een getal: de kleinste waarde uit de argumenten
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
Laagste maandultimo banksaldo
Bij de controle van Veldhuis Installatie BV heb je de saldi per maandultimo van grootboekrekening 1100 Bank voor periode 1 tot en met 6, uit de saldibalans. Om de liquiditeit in de loop van het jaar te beoordelen wil je het laagste saldo in één cel, zodat het meebeweegt als een periode wordt gecorrigeerd.
| Rij | A | B | C | D | E |
|---|---|---|---|---|---|
| 1 | Periode | Eindsaldo | Laagste saldo | ||
| 2 | 11 | €48,250.00€ 48.250,00 | €12,780.50€ 12.780,50=MIN(B2:B7)=MIN(B2:B7) | ||
| 3 | 22 | €31,400.00€ 31.400,00 | |||
| 4 | 33 | €12,780.50€ 12.780,50 | |||
| 5 | 44 | €27,900.00€ 27.900,00 | |||
| 6 | 55 | €41,350.00€ 41.350,00 | |||
| 7 | 66 | €19,600.00€ 19.600,00 | |||
| 8 |
Veeg opzij om alle kolommen te zien
Formule in D2
=MIN(B2:B7)
=MIN(B2:B7)
Resultaat: €12,780.50€ 12.780,50
Stap voor stap
- Excel leest
B2:B7en vindt zes getallen: 48250, 31400, 12780,50, 27900, 41350 en 19600. - Excel neemt 48250 als voorlopig kleinste. 31400 is kleiner en neemt over. 12780,50 is nog kleiner en neemt op zijn beurt over.
- 27900, 41350 en 19600 worden een voor een naast 12780,50 gelegd. Geen ervan is kleiner.
- MIN geeft 12780,50 terug, het saldo aan het eind van periode 3.
- Wordt periode 3 na een late bankboeking gecorrigeerd naar 15200, dan wordt
D2vanzelf 15200, want 15200 ligt nog steeds onder 19600.
Let op: Vul je de periodes 7 tot en met 12 in met 0 voor maanden die nog niet zijn afgesloten, dan wordt het laagste saldo 0. Laat toekomstige perioden leeg; lege cellen slaat MIN over.
Meer over dit voorbeeld: waarom het werkt
Waarom het werkt
MIN legt elke waarde naast de kleinste die het tot dan toe heeft gevonden, dus de volgorde van de perioden maakt niet uit. Je krijgt het saldo terug, niet de periode; met VERGELIJKEN op de uitkomst zie je welke maand het was.
Halfgevorderd
Verzekerd deel van de debiteuren per afnemer
In de ouderdomsanalyse debiteuren dekt de kredietverzekeraar elke afnemer tot 25,00025.000. Je wilt weten hoeveel van elk openstaand saldo verzekerd is, om het onverzekerde risico te bepalen bij je beoordeling van de voorziening.
Een afnemer die volledig heeft betaald, heeft een leeg saldo en moet 0 tonen. De formule in C2 wordt omlaag gekopieerd.
| Rij | A | B | C | D | E | F |
|---|---|---|---|---|---|---|
| 1 | Relatie | Openstaand saldo | Verzekerd | Limiet per afnemer | 2500025000 | |
| 2 | D1001 | €38,400.00€ 38.400,00 | €25,000.00€ 25.000,00=ALS(B2 = "", 0, MIN(B2, $E$1))=ALS(B2 = ""; 0; MIN(B2; $E$1)) | |||
| 3 | D1002 | €17,250.50€ 17.250,50 | ||||
| 4 | D1003 | |||||
| 5 | D1004 | €61,200.00€ 61.200,00 | ||||
| 6 | D1005 | €9,800.00€ 9.800,00 | ||||
| 7 |
Veeg opzij om alle kolommen te zien
Formule in C2
=ALS(B2 = "",0, MIN(B2, $E$1))
=ALS(B2 = "";0; MIN(B2; $E$1))
Resultaat: €25,000.00€ 25.000,00
Stap voor stap
- Excel begint met de test: is
B2leeg? InB2staat 38400, dus de test is ONWAAR en ALS gaat door naar het derde argument. - MIN legt 38400 naast 25000 uit
$E$1en geeft de kleinste: 25000. Afnemer D1001 is verzekerd tot de limiet. - Omlaag gekopieerd:
C3geeft MIN(17250,50; 25000) = 17250,50; dat ligt onder de limiet en is dus volledig verzekerd.C5geeft MIN(61200; 25000) = 25000.C6geeft MIN(9800; 25000) = 9800. C4is van afnemer D1003, en die heeft een legeB4. De testB4= "" is WAAR en ALS geeft 0.- Zonder ALS zou
C4MIN(B4; $E$1) zijn. MIN slaat de lege cel over, houdt alleen 25000 over en geeft 25000: verzekerde dekking voor een saldo dat niet bestaat. - De kolom telt op tot 25000 + 17250,50 + 0 + 25000 + 9800 = 77050,50. Zonder de test op een lege cel was dat 102050,50 geweest.
Let op: Een saldo dat als tekst binnenkomt, zoals '38400.00' uit een slecht geëxporteerde ouderdomsanalyse, slaat MIN net zo over als een lege cel, en de rij toont de volledige limiet. ALS vangt dat niet af, want de cel is niet leeg.
Meer over dit voorbeeld: waarom het werkt, nog 1 valkuil, 1 variant
Waarom het werkt
Met de limiet als tweede argument geeft MIN het saldo terug als dat eronder ligt en de limiet als het erboven ligt, en zo werkt de dekking van de verzekeraar. Omdat MIN lege cellen overslaat en ze niet als 0 ziet, heeft een leeg saldo een eigen test nodig; ALS handelt die af voordat MIN de cel te zien krijgt. Door de dollartekens kijkt elke rij naar dezelfde limietcel.
Meer om op te letten
- Zonder dollartekens vergelijkt
C3metE2, een lege cel die MIN overslaat. D1002 en D1004 verschijnen dan als volledig verzekerd, en bij D1004 betekent dat 61200.
Varianten
=ALS(ISGETAL(B2),MIN(B2, $E$1), 0)
=ALS(ISGETAL(B2);MIN(B2; $E$1); 0)
Test op een echt getal in plaats van op een lege cel; zo krijgt ook een saldo dat als tekst is ingevoerd 0 en valt dat op bij de opvolging.
GevorderdExcel 2021 of nieuwer (Dit voorbeeld vereist Excel 2021 of nieuwer)
Boekstuk met het laagste debet op een rekening
Voor de journaalpostentest heb je de journaalregels uit de XAF van Veldhuis Installatie BV. Creditregels hebben een 0 in de kolom Debet. Voor de grootboekrekening in G1 wil je het boekstuknummer met het laagste echte debet, en een duidelijke melding als de rekening helemaal geen debetboekingen heeft.
| Rij | A | B | C | D | E | F | G | H |
|---|---|---|---|---|---|---|---|---|
| 1 | Grootboekrekening | Boekstuk | Debet | Grootboekrekening | 45004500 | |||
| 2 | 45004500 | 25-0101 | €1,250.00€ 1.250,00 | Boekstuk met laagste debet | 25-0212=X.ZOEKEN(1, (A2:A9 = G1) * (C2:C9 > 0) * (C2:C9 = MIN.ALS.VOORWAARDEN(C2:C9, A2:A9, G1, C2:C9, ">0")), B2:B9, "Geen debetboekingen")=X.ZOEKEN(1; (A2:A9 = G1) * (C2:C9 > 0) * (C2:C9 = MIN.ALS.VOORWAARDEN(C2:C9; A2:A9; G1; C2:C9; ">0")); B2:B9; "Geen debetboekingen") | |||
| 3 | 45004500 | 25-0145 | €0.00€ 0,00 | |||||
| 4 | 40004000 | 25-0150 | €3,400.00€ 3.400,00 | |||||
| 5 | 45004500 | 25-0212 | €980.40€ 980,40 | |||||
| 6 | 80008000 | 25-0230 | €0.00€ 0,00 | |||||
| 7 | 45004500 | 25-0301 | €1,875.00€ 1.875,00 | |||||
| 8 | 40004000 | 25-0302 | €3,150.00€ 3.150,00 | |||||
| 9 | 45004500 | 25-0377 | €1,310.00€ 1.310,00 | |||||
| 10 |
Veeg opzij om alle kolommen te zien
Formule in G2
=X.ZOEKEN(1,(A2:A9 = G1) * (C2:C9 > 0) * (C2:C9 = MIN.ALS.VOORWAARDEN(C2:C9, A2:A9, G1, C2:C9, ">0")), B2:B9, "Geen debetboekingen")
=X.ZOEKEN(1;(A2:A9 = G1) * (C2:C9 > 0) * (C2:C9 = MIN.ALS.VOORWAARDEN(C2:C9; A2:A9; G1; C2:C9; ">0")); B2:B9; "Geen debetboekingen")
Resultaat: 25-0212
Stap voor stap
- Excel berekent eerst MIN.ALS.VOORWAARDEN. Dat houdt de rijen over met 4500 in kolom A en een debet boven 0 in kolom C: de rijen 2, 5, 7 en 9, met 1250, 980,40, 1875 en 1310. Rij 3, de 0 van boekstuk
25-0145, valt af op">0". De kleinste is 980,40. - Zonder
">0"zou MIN.ALS.VOORWAARDEN 0 uit rij 3 geven en boekstuk25-0145aanwijzen, een creditregel. - Daarna worden de drie tests matrices van enen en nullen, en die worden met elkaar vermenigvuldigd. Rekening gelijk aan 4500: 1, 1, 0, 1, 0, 1, 0, 1. Debet boven 0: 1, 0, 1, 1, 0, 1, 1, 1. Debet gelijk aan 980,40: 0, 0, 0, 1, 0, 0, 0, 0. De uitkomst van de vermenigvuldiging is 0, 0, 0, 1, 0, 0, 0, 0.
- X.ZOEKEN zoekt de 1 in die matrix en vindt die op de vierde positie. Het geeft de vierde cel van
B2:B9terug, en dat isB5:25-0212. - Zet je
G1op 4000, dan vindt MIN.ALS.VOORWAARDEN 3400 en 3150 en geeft 3150, en X.ZOEKEN geeft25-0302. - Zet je
G1op 8000, dan heeft de enige regel een debet van 0. MIN.ALS.VOORWAARDEN vindt geen enkele rij en geeft 0. De rekeningtest past bij rij 6, maar de test > 0 zet die op nul. Er blijft geen 1 over, en X.ZOEKEN geeft Geen debetboekingen.
Let op: Zoek je alleen op het bedrag, X.ZOEKEN(MIN.ALS.VOORWAARDEN(...); C2:C9; B2:B9), dan vind je de eerste rij met dat bedrag, op welke rekening ook. Had een boekstuk op rekening 4000 hoger in de lijst ook een debet van 980,40, dan krijg je zonder foutwaarde het verkeerde boekstuk.
Meer over dit voorbeeld: waarom het werkt, nog 2 valkuilen, 2 varianten
Waarom het werkt
MIN.ALS.VOORWAARDEN geeft een bedrag en geen positie, dus je moet dat bedrag opnieuw opzoeken tussen de rijen van dezelfde rekening. Tests met elkaar vermenigvuldigen werkt als EN over matrices, en X.ZOEKEN op 1 vindt de eerste rij waar ze allemaal kloppen. De extra test > 0 is nodig omdat MIN.ALS.VOORWAARDEN 0 geeft als geen enkele rij voldoet; zonder die test zou die 0 een creditregel aanwijzen.
Meer om op te letten
- MIN.ALS.VOORWAARDEN bestaat pas vanaf Excel 2019. In oudere versies toont de formule #NAAM?.
- Hebben twee boekstukken hetzelfde laagste debet, dan geeft X.ZOEKEN de eerste uit de lijst. Zijn gelijke bedragen belangrijk voor je test, gebruik dan FILTER om ze allemaal te zien.
Varianten
=MIN.ALS.VOORWAARDEN(C2:C9,A2:A9, G1, C2:C9, ">0")
=MIN.ALS.VOORWAARDEN(C2:C9;A2:A9; G1; C2:C9; ">0")
Alleen het laagste echte debet, 980,40, als je het boekstuknummer niet nodig hebt.
=FILTER(B2:B9,(A2:A9 = G1) * (C2:C9 > 0) * (C2:C9 = MIN.ALS.VOORWAARDEN(C2:C9, A2:A9, G1, C2:C9, ">0")), "Geen debetboekingen")
=FILTER(B2:B9;(A2:A9 = G1) * (C2:C9 > 0) * (C2:C9 = MIN.ALS.VOORWAARDEN(C2:C9; A2:A9; G1; C2:C9; ">0")); "Geen debetboekingen")
Geeft alle boekstukken die samen het laagste debet hebben, overlopend naar beneden, in plaats van alleen het eerste.
ExpertExcel 2024 of nieuwer (Dit voorbeeld vereist Excel 2024 of nieuwer)
Opvolgdrempel per rekening, begrensd
Per grootboekrekening in de saldibalans stelt het controleplan een drempel vast waarboven je een verschil opvolgt. Die drempel is:
- 0,5% van het saldo
- minimaal 1,0001.000
- maximaal 10,00010.000
De hele drempelkolom moet uit één formule in C2 komen die naar beneden overloopt. Zo kan een rekening die onderaan wordt toegevoegd niet buiten de boot vallen doordat iemand vergat de formule door te kopiëren.
| Rij | A | B | C | D | E | F |
|---|---|---|---|---|---|---|
| 1 | Grootboekrekening | Saldo | Drempel | Percentage | 0.0050,005 | |
| 2 | 11001100 | €842,300.00€ 842.300,00 | €4,211.50€ 4.211,50=LET( saldi, B2:B7, tarief, E1, minDrempel, E2, maxDrempel, E3, MAP(saldi, LAMBDA(saldo, MAX(minDrempel, MIN(saldo * tarief, maxDrempel)))) )=LET( saldi; B2:B7; tarief; E1; minDrempel; E2; maxDrempel; E3; MAP(saldi; LAMBDA(saldo; MAX(minDrempel; MIN(saldo * tarief; maxDrempel)))) ) | Minimum | 10001000 | |
| 3 | 13001300 | €1,263,500.00€ 1.263.500,00 | €6,317.50€ 6.317,50 | Maximum | 1000010000 | |
| 4 | 16001600 | €415,800.00€ 415.800,00 | €2,079.00€ 2.079,00 | |||
| 5 | 18001800 | €38,900.00€ 38.900,00 | €1,000.00€ 1.000,00 | |||
| 6 | 40004000 | €2,150,000.00€ 2.150.000,00 | €10,000.00€ 10.000,00 | |||
| 7 | 45004500 | €96,400.00€ 96.400,00 | €1,000.00€ 1.000,00 | |||
| 8 |
Veeg opzij om alle kolommen te zien
Formule in C2
=LET( saldi,B2:B7, tarief, E1, minDrempel, E2, maxDrempel, E3, MAP(saldi, LAMBDA(saldo, MAX(minDrempel, MIN(saldo * tarief, maxDrempel)))) )
=LET( saldi;B2:B7; tarief; E1; minDrempel; E2; maxDrempel; E3; MAP(saldi; LAMBDA(saldo; MAX(minDrempel; MIN(saldo * tarief; maxDrempel)))) )
Resultaat: €4,211.50 / €6,317.50 / €2,079.00 / €1,000.00 / €10,000.00 / €1,000.00€ 4.211,50 / € 6.317,50 / € 2.079,00 / € 1.000,00 / € 10.000,00 / € 1.000,00
Stap voor stap
- LET geeft de invoer een naam: saldi is
B2:B7, tarief is 0,005, minDrempel is 1000 en maxDrempel is 10000. - MAP loopt saldi waarde voor waarde af en geeft elke waarde als saldo door aan de LAMBDA. Daarin krijgen MIN en MAX steeds één getal en één limiet te zien, nooit de hele kolom.
- Rekening 4000: 2150000 × 0,005 = 10750. MIN(10750; 10000) = 10000, begrensd. MAX(1000; 10000) = 10000.
- Rekening 1800: 38900 × 0,005 = 194,50. MIN(194,50; 10000) = 194,50, daarna MAX(1000; 194,50) = 1000: de ondergrens tilt de drempel naar het minimum. Rekening 4500: 96400 × 0,005 = 482, op dezelfde manier opgetild tot 1000.
- Rekening 1100: 842300 × 0,005 = 4211,50, rekening 1300: 1263500 × 0,005 = 6317,50, rekening 1600: 415800 × 0,005 = 2079. Alle drie liggen tussen de grenzen en blijven ongewijzigd.
- MAP verzamelt de zes uitkomsten en laat ze overlopen van
C2tot en metC7: 4211,50, 6317,50, 2079, 1000, 10000 en 1000, samen 24608. Zet jeE3op 12000, dan krijgt rekening 4000 een drempel van 10750.
Let op: De omgekeerde fout is =MAX(E2; MIN(B2:B7 * E1; E3)). MIN neemt de kleinste van alle zes drempels en het maximum, 194,50, MAX tilt die op naar 1000, en je krijgt één keer 1000 in plaats van een kolom. Dat ziet eruit als een geldige drempel.
Meer over dit voorbeeld: waarom het werkt, nog 2 valkuilen, 2 varianten
Waarom het werkt
MAX(onder; MIN(x; boven)) houdt één getal binnen de grenzen: zit het boven het plafond, dan haalt MIN het omlaag; zit het onder de ondergrens, dan tilt MAX het op. Omdat MIN en MAX alles wat ze krijgen tot één getal samenvatten, moet je die begrenzing per waarde toepassen, en dat is precies wat MAP met een LAMBDA doet binnen één overlopende formule.
Gebruik deze opbouw niet als de werkmap ook in Excel 2019 of ouder wordt geopend: daar bestaan MAP en LAMBDA niet. Het alternatief is dan de formule per rij, =MAX($E$2; MIN(B2 * $E$1; $E$3)), omlaag gekopieerd. Die is voor de meeste lezers duidelijker, maar als de lijst groeit, vergeet je snel om hem door te kopiëren.
Meer om op te letten
- Draai je de volgorde van het nesten om naar MIN(maxDrempel; MAX(saldo * tarief; minDrempel)), dan krijg je alleen dezelfde uitkomsten zolang de ondergrens onder het plafond ligt. Zet iemand het minimum boven het maximum, dan geven de twee volgordes verschillende antwoorden; controleer dus dat
E2<E3. - Een rekening met een leeg saldo krijgt saldo = 0, een drempel van 0 × 0,005 = 0, en wordt opgetild naar het minimum van 1000. Bepaal of lege rekeningen wel een drempel nodig hebben, en filter ze eruit als dat niet zo is.
Varianten
=MAX($E$2,MIN(B2 * $E$1, $E$3))
=MAX($E$2;MIN(B2 * $E$1; $E$3))
De begrenzing per rij, vanaf C2 omlaag gekopieerd: werkt in elke versie.
=ALS(B2:B7 * E1 > E3,E3, ALS(B2:B7 * E1 < E2, E2, B2:B7 * E1))
=ALS(B2:B7 * E1 > E3;E3; ALS(B2:B7 * E1 < E2; E2; B2:B7 * E1))
Een overlopende begrenzing zonder MAP: ALS vergelijkt element voor element, waar MIN en MAX alles zouden samenvatten. Langer, en het product wordt drie keer uitgerekend.
Veelgemaakte fouten
| Symptoom | Oorzaak | Oplossing |
|---|---|---|
| Laagste offerte komt uit op 0 | De laagste offerte komt uit op 0, omdat leveranciers die geen offerte stuurden met een 0 zijn ingevuld. | Laat ontbrekende offertes leeg, of gebruik MIN.ALS.VOORWAARDEN(C2:C9; C2:C9; ">0") om de nullen over te slaan. |
| Het volle plafond bij een lege declaratie | MIN(B2; $E$1) geeft bij een lege declaratie het volle plafond: de lege B2 wordt overgeslagen en alleen het plafond blijft over. | Vang een lege cel eerst af: ALS(B2 = ""; 0; MIN(B2; $E$1)), zoals in het voorbeeld op niveau Halfgevorderd. |
| Eén getal in plaats van een kolom begrensde waarden | Je schrijft MIN(B2:B7 * E1; E3) om een hele kolom in één keer te begrenzen en krijgt één getal terug. | MIN vat alles samen tot één getal. Begrens per rij met een formule die je omlaag kopieert, of laat MAP en LAMBDA MIN op elk element apart toepassen, zoals in het voorbeeld op niveau Expert. |
Gebruikt in combinaties
- 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)