Inhoudsopgave
In deze korte handleiding bespreken we de functie KLEIN van Excel, hoe deze werkt en hoe u deze kunt gebruiken om het N-de kleinste getal, datum of tijd te vinden.
Wilt u een paar laagste getallen in een werkblad vinden? Dat kan heel eenvoudig met de sorteerfunctie van Excel. Wilt u geen tijd verspillen aan het opnieuw sorteren van uw gegevens bij elke wijziging? Met de KLEINE functie vindt u snel de laagste waarde, de op één na kleinste, de op twee na kleinste, de op twee na kleinste, enzovoort.
Excel KLEINE functie
SMALL is een statistische functie die de n-de kleinste waarde in een gegevensverzameling teruggeeft.
De syntaxis van de functie SMALL bevat twee argumenten, die beide vereist zijn.
SMALL(array, k)
Waar:
- Array - een matrix of een reeks cellen waaruit de kleinste waarde moet worden gehaald.
- K - een geheel getal dat de positie aangeeft van de laagste waarde die moet worden geretourneerd, d.w.z. de k-de kleinste.
De functie is beschikbaar in alle versies van Excel voor Office 365, Excel 2021, Excel 2019, Excel 2016, Excel 2013, Excel 2010 en eerder.
Tip. Om de k-de laagste waarde met criteria te vinden, gebruikt u de Excel SMALL IF-formule.
Basis KLEINE formule in Excel
Een SMALL-formule is in zijn basisvorm zeer eenvoudig op te bouwen - u geeft gewoon het bereik en de positie van het kleinste item dat moet worden teruggegeven.
Stel dat u uit de lijst van getallen in B2:B10 de derde kleinste waarde wilt halen, dan is de formule zo eenvoudig als:
=SMALL(B2:B10, 3)
Om het u gemakkelijker te maken het resultaat te controleren, is kolom B oplopend gesorteerd:
4 dingen die je moet weten over de KLEINE functie
De volgende gebruiksaanwijzingen helpen u het gedrag van de KLEINE functie beter te begrijpen en verwarring te voorkomen bij het opstellen van uw eigen formules.
- Elke lege cellen , tekst waarden, en logisch waarden TRUE en FALSE in de array argument worden genegeerd.
- Als array bevat een of meer fouten wordt een fout geretourneerd.
- Indien er duplicaten in array Indien bijvoorbeeld twee cellen het getal 1 bevatten, en de functie KLEIN is ingesteld om de kleinste en de op één na kleinste waarde terug te geven, krijgt u in beide gevallen een 1.
- Aangenomen dat n het aantal waarden is in array zal SMALL(array,1) de laagste waarde opleveren, en SMALL(array,n) de hoogste waarde.
Hoe de functie KLEIN gebruiken in Excel - formulevoorbeelden
En laten we nu eens kijken naar enkele andere voorbeelden van de Excel SMALL functie die verder gaan dan het basisgebruik ervan.
Vind de onderste 3, 5, 10, enz. waarden.
Zoals u al weet, is de functie SMALL bedoeld om de n-de laagste waarde te berekenen. Dit voorbeeld laat zien hoe u dat het beste kunt doen.
Stel dat u in de onderstaande tabel de onderste 3 waarden wilt vinden. Hiervoor typt u de getallen 1, 2 en 3 in aparte cellen (D3, D4 en D5 in ons geval). Vervolgens voert u de volgende formule in E3 in en sleept u deze naar beneden via E5:
=SMALL($B$2:$B$10, D3)
In E3 haalt de formule de kleinste waarde uit het getal in D3 voor de k Het belangrijkste is om de juiste celverwijzingen op te geven waardoor de formule correct wordt gekopieerd in andere cellen: absoluut voor array en relatief voor k .
Wilt u geen moeite doen om de rijen handmatig in te typen? Gebruik de functie ROWS met een uitbreiding van het assortiment verwijzing naar de k Hiervoor maken we een absolute verwijzing voor de eerste cel (of alleen de rijcoördinaat zoals B$2) en een relatieve verwijzing voor de laatste cel:
=SMALL($B$2:$B$10, ROWS(B$2:B2))
Het resultaat is dat de bereikreferentie groter wordt naarmate de formule naar beneden in de kolom wordt gekopieerd. In D2 levert ROWS(B$2:B2) 1 op voor k In D3 levert ROWS(B$2:B3) 2 op, en we krijgen de op één na laagste kosten, enzovoort.
Kopieer de formule door 5 cellen, en je krijgt de onderste 5 waarden:
Som onderste N-waarden
Wilt u een totaal vinden van de kleinste n waarden in een dataset? Als u de waarden al hebt geëxtraheerd zoals in het vorige voorbeeld, dan is de eenvoudigste oplossing een SUM-formule zoals:
=SUM(E3:E5)
Of u kunt een onafhankelijke formule maken door de functie SMALL samen met SUMPRODUCT te gebruiken:
SUMPRODUCT(KLEIN( array , {1, ..., n }))Om de som te krijgen van de onderste 3 waarden in onze gegevensverzameling, neemt de formule deze vorm aan:
=SUMPRODUCT(SMALL(B2:B10, {1,2,3})
De SUM-functie geeft hetzelfde resultaat:
=SUM(SMALL(B2:B10, {1,2,3}))
Opmerking. Als u celverwijzingen in plaats van een matrixconstante voor k In Excel 365, dat dynamische matrices ondersteunt, werkt SUM SMALL in beide gevallen als een gewone formule.
Hoe deze formule werkt:
In een gewone formule geeft SMALL een enkele k-de kleinste waarde in een bereik terug. In dit geval geven we een arrayconstante als {1,2,3} voor het argument k, zodat het een array van de kleinste 3 waarden teruggeeft:
{29240, 43610, 58860}
De functie SUMPRODUCT of SUM telt de getallen in de matrix op en geeft het totaal weer. Dat is het!
INDEX MATCH SMALL formule om de kleinste overeenkomsten te krijgen
Wanneer u gegevens wilt opvragen die verband houden met de kleinste waarde, gebruikt u de klassieke INDEX MATCH combinatie met SMALL voor de opzoekwaarde:
INDEX( return_array , MATCH(SMALL( lookup_array , n ), lookup_array , 0))Waar:
- Return_array is een bereik waaruit geassocieerde gegevens moeten worden gehaald.
- Lookup_array is een bereik waar moet worden gezocht naar de laagste n-de waarde.
- N is de positie van de kleinste waarde van belang.
Om bijvoorbeeld de naam te krijgen van het project met de laagste kosten, is de formule in E3:
=INDEX($A$2:$A$10, MATCH(SMALL($B$2:$B$10, D3), $B$2:$B$10, 0))
Waarbij A2:A10 de projectnamen zijn, B2:B10 de kosten en D3 de rangorde van kleinste.
Kopieer de formule naar de onderstaande cellen (E4 en E5), en u krijgt de namen van de 3 goedkoopste projecten:
Opmerkingen:
- Deze oplossing werkt prima voor een dataset zonder duplicaten. Twee of meer dubbele waarden in een numerieke kolom kunnen echter "banden" creëren in de rangschikking, wat leidt tot verkeerde resultaten. Gebruik in dat geval een iets geavanceerdere formule om banden te verbreken.
- In Excel 365 kan deze taak worden uitgevoerd met behulp van de nieuwe dynamische matrixfuncties. Deze aanpak is niet alleen veel eenvoudiger, maar lost ook automatisch het probleem van dassen op. Zie voor volledige details Hoe filter je onderste N-waarden in Excel.
Getallen sorteren van laag naar hoog met een formule
Ik denk dat iedereen wel weet hoe je getallen op volgorde zet met de sorteerfunctie van Excel. Maar weet je ook hoe je sorteren met een formule uitvoert? De gebruikers van Excel 365 kunnen het op een eenvoudige manier doen met de nieuwe SORT-functie. In Excel 2019, 2016 en eerdere versies werkt SORT helaas niet. Maar heb een beetje vertrouwen, en KLEIN komt te hulp :)
Net als in het eerste voorbeeld gebruiken we de functie ROWS met een uitbreidende bereikverwijzing om te verhogen k met 1 in elke rij waar de formule wordt gekopieerd:
=SMALL($A$2:$A$10, ROWS(A$2:A2))
Voer de formule in de eerste cel in, en sleep deze vervolgens naar zoveel cellen als er waarden zijn in de oorspronkelijke gegevensverzameling (C2:C10 in dit voorbeeld):
Tip. Om te sorteren aflopend Gebruik de functie GROOT in plaats van KLEIN.
Excel KLEINE formule voor datums en tijden
Omdat datums en tijden ook numerieke waarden zijn (in het interne Excel-systeem worden datums opgeslagen als opeenvolgende getallen en tijden als decimale fracties), kan de functie KLEIN deze ook verwerken zonder extra inspanning van uw kant.
Zoals u in de onderstaande screenshots kunt zien, werkt een basisformule die we gebruikten voor getallen ook prima voor datums en tijden:
=SMALL($B$2:$B$10, D2)
Kleine formule om de vroegste 3 data te vinden:
KLEINE formule om de kortste 3 keer te krijgen:
Het volgende voorbeeld laat zien hoe u met de functie KLEIN een meer specifieke taak met betrekking tot datums kunt uitvoeren.
Zoek een vorige datum die het dichtst bij vandaag of een bepaalde datum ligt
Stel dat u in een lijst met data de dichtstbijzijnde datum vóór een bepaalde datum wilt vinden, dan kunt u dat doen met de functie SMALL in combinatie met COUNTIF.
Met de lijst van data in B2:B10 en de streefdatum in E1 geeft de volgende formule een eerdere datum die het dichtst bij de streefdatum ligt:
=SMALL(B2:B10, COUNTIF(B2:B10, "<"&E1))
Om een datum te extraheren die twee data voor de datum in E1 ligt, d.w.z. een voorlaatste datum, is de formule:
=SMALL(B2:B10, COUNTIF(B2:B10, "<"&E1)-1)
Om een datum uit het verleden te vinden het dichtst bij vandaag Gebruik de functie TODAY voor de criteria van COUNTIF:
=SMALL(B2:B10, COUNTIF(B2:B10, "<"&TODAY()))
Tip. Om fouten te voorkomen in situaties waarin een datum die aan uw criteria voldoet niet wordt gevonden, kunt u de IFERROR-functie om uw formule wikkelen, zoals dit:
=IFERROR(SMALL(B2:B10, COUNTIF(B2:B10, "<"&E1)-1), "Niet gevonden")
Hoe deze formules werken:
Het algemene idee is om met COUNTIF het aantal data te tellen dat kleiner is dan de beoogde datum. En deze telling is precies wat de functie SMALL nodig heeft voor de k argument.
Om het concept beter te begrijpen, laten we het van een andere kant bekijken:
Als 1-Aug-2020 (de streefdatum in E1) in onze dataset zou voorkomen, zou dat de 7e grootste datum op de lijst zijn. Er zijn dus zes data die kleiner zijn dan die datum. De 6e kleinste datum is dus de datum die het dichtst bij de streefdatum ligt.
Dus berekenen we eerst hoeveel data kleiner zijn dan de datum in E1 (het resultaat is 6):
COUNTIF(B2:B10, "<"&E1)
En stop dan de telling in het 2e argument van SMALL:
=SMALL(B2:B10, 6)
Om de voorlaatste datum te krijgen (in ons geval de 5e kleinste datum) trekken we 1 af van het resultaat van COUNTIF.
Hoe onderste waarden te markeren in Excel
Om de kleinste n-waarden in uw tabel te markeren met Excel voorwaardelijke opmaak, kunt u ofwel een ingebouwde Boven/Beneden optie gebruiken of uw eigen regel instellen op basis van een KLEINE formule. De eerste methode is sneller en gemakkelijker toe te passen, terwijl de tweede meer controle en flexibiliteit biedt. De onderstaande stappen zullen u helpen bij het maken van een aangepaste regel:
- Selecteer het bereik waarin u de onderste waarden wilt markeren. In ons geval bevinden de getallen zich in B2:B10, dus dat selecteren we. Wilt u hele rijen markeren, selecteer dan A2:B10.
- Op de Home tabblad, in de Styles groep, klik Voorwaardelijke opmaak > Nieuwe regel .
- In de Nieuwe opmaakregel dialoogvenster, kies Gebruik een formule om te bepalen welke cellen moeten worden opgemaakt.
- In de Formatteer waarden waar deze formule waar is vak een formule als deze in:
=B2<=SMALL($B$2:$B$10, 3)
Waarbij B2 de meest linkse cel van het te controleren numerieke bereik is, $B$2:$B$10 het hele bereik is, en 3 het n onderste waarden te markeren.
Let in uw formule op de verwijzingstypen: de meest linkse cel is een relatieve verwijzing (B2) terwijl het bereik de absolute verwijzing is ($B$2:$B$10).
- Klik op de Formaat knop en kies elk gewenst formaat.
- Klik tweemaal op OK om beide dialoogvensters te sluiten.
De onderste 3 waarden in kolom B zijn gemarkeerd:
Voor meer informatie, zie Excel voorwaardelijke opmaak op basis van formule.
Excel KLEINE functie werkt niet
Zoals u zojuist hebt gezien aan de hand van onze voorbeelden, is het gebruik van de functie SMALL in Excel vrij eenvoudig, en is het onwaarschijnlijk dat u er problemen mee krijgt. Als uw formule niet werkt, is dat waarschijnlijk een #NUM! fout, die kan optreden om de volgende redenen:
- Array leeg is of geen enkele numerieke waarde bevat.
- De k waarde kleiner is dan nul (een domme tikfout kan u uren probleemoplossing kosten!) of het aantal waarden in de matrix overschrijdt.
Dat is hoe je een KLEINE formule in Excel gebruikt om de onderste getallen in een set gegevens te vinden en te markeren. Als je andere scenario's kent waarbij de functie van pas komt, ben je van harte welkom om die te delen in de comments. Ik dank je voor het lezen en hoop je volgende week op onze blog te zien!
Praktijk werkboek om te downloaden
Excel KLEINE formulevoorbeelden (.xlsx bestand)