Ynhâldsopjefte
Yn dizze koarte tutorial sille wy prate oer Excel SMALL-funksje, hoe't it wurket en hoe't jo it brûke om it N-de lytste nûmer, datum of tiid te finen.
Need in pear leechste nûmers te finen yn in wurkblêd? Dit is frij maklik te dwaan mei de Excel Sort-funksje. Wolle jo gjin tiid fergrieme oan it opnij sortearjen fan jo gegevens by elke feroaring? De SMALL-funksje sil jo helpe om fluch de leechste wearde, twadde lytste, tredde lytste, ensfh.
Excel SMALL-funksje
SMALL is in statistyske funksje dy't weromkomt de n-de lytste wearde yn in gegevensset.
De syntaksis fan de SMALL-funksje befettet twa arguminten, dy't beide ferplicht binne.
SMALL(array, k)
Wêr:
- Array - in array of in berik fan sellen dêr't de lytste wearde út ekstrahearre wurdt.
- K - in hiel getal dat de posysje fan de leechste wearde oanjout om werom te kommen, dus k-ste lytste.
De funksje is beskikber yn alle ferzjes fan Excel foar Office 365, Excel 2021, Excel 2019, Excel 2016, Excel 2013, Excel 2010, en earder.
Tip. Om k-ste leechste wearde te finen mei kritearia, brûk Excel SMALL IF formule.
Basis SMALL formule yn Excel
In LYTE formule yn syn basisfoarm is heul maklik te bouwen - jo spesifisearje gewoan de berik en de posysje fan it lytste item om werom te kommen.
Yn de list mei nûmers yn B2:B10, stel dat jo de 3e lytste wearde ekstrahearje wolle. De formule is asienfâldich as:
=SMALL(B2:B10, 3)
Om it makliker foar jo te meitsjen om it resultaat te kontrolearjen, wurdt kolom B yn oprinnende folchoarder sortearre:
4 dingen dy't jo witte moatte oer SMALL-funksje
De folgjende gebrûksnotysjes sille jo helpe om it gedrach fan 'e SMALL-funksje better te begripen en betizing te foarkommen by it bouwen fan jo eigen formules.
- Elke lege sellen , tekst wearden, en logyske wearden TRUE en FALSE yn it array argumint wurde negearre.
- As array befettet ien of mear flaters , in flater wurdt weromjûn.
- Yn gefal d'r duplikaten binne yn array , jo formule kin resultearje yn "bannen". As bygelyks twa sellen it nûmer 1 befetsje, en de SMALL-funksje is ynsteld om de lytste en de 2e lytste wearde werom te jaan, krije jo yn beide gefallen 1.
- Ungeande fan n is it oantal wearden yn array , SMALL(array,1) sil de leechste wearde werombringe, en SMALL(array,n) sil de heechste wearde kieze.
Hoe kin ik de SMALL-funksje brûke yn Excel - formulefoarbylden
En litte wy no wat mear foarbylden sjen fan 'e Excel SMALL-funksje dy't fierder gean as it basisgebrûk.
Fyn ûnderste 3, 5, 10, ensfh. wearden
Lykas jo al witte, is de SMALL-funksje ûntworpen om de n-de leechste wearde te berekkenjen. Dit foarbyld lit sjen hoe't jo dit it meast effektyf kinne dwaan.
Stel yn 'e tabel hjirûnder dat jo de ûnderste 3 wearden fine wolle. Foar dit, typ denûmers 1, 2 en 3 yn aparte sellen (D3, D4 en D5 yn ús gefal). Fier dan de folgjende formule yn yn E3 en sleep it nei ûnderen troch E5:
=SMALL($B$2:$B$10, D3)
Yn E3 ekstrahearret de formule de lytste wearde mei it nûmer yn D3 foar de k argumint. It wichtichste ding is om goede selferwizings te leverjen, wêrtroch de formule korrekt kopiearret yn oare sellen: absolút foar array en relatyf foar k .
Wolle jo net lestich falle om de rangen mei de hân yn te typen? Brûk de ROWS-funksje mei in útwreidzjend berik -referinsje om de k -wearde te jaan. Hjirfoar meitsje wy in absolute referinsje foar de earste sel (of beskoattelje allinich de rigekoördinaat lykas B$2) en relative referinsje foar de lêste sel:
=SMALL($B$2:$B$10, ROWS(B$2:B2))
As resultaat, it berik referinsje wreidet út as de formule wurdt kopiearre del de kolom. Yn D2 produsearret ROWS(B$2:B2) 1 foar k , en de formule jout de leechste kosten werom. Yn D3 jout ROWS(B$2:B3) 2 op, en wy krije de 2e leechste kosten, ensfh.
Kopieer gewoan de formule troch 5 sellen, en jo krije ûnderste 5 wearden:
Som ûnderste N wearden
Wolle in totaal fan de lytste n wearden yn in dataset fine? As jo de wearden al ekstrahearre hawwe lykas werjûn yn it foarige foarbyld, soe de maklikste oplossing in SUM-formule wêze lykas:
=SUM(E3:E5)
Of jo kinne meitsje in ûnôfhinklike formule troch de SMALL-funksje te brûken tegearre mei SUMPRODUCT:
SUMPRODUCT(SMALL( array, {1, …, n}))Om de som fan de ûnderste 3 wearden yn ús set gegevens te krijen, nimt de formule dizze foarm oan :
=SUMPRODUCT(SMALL(B2:B10, {1,2,3}))
De SUM-funksje sil itselde resultaat produsearje:
=SUM(SMALL(B2:B10, {1,2,3}))
Opmerking. As jo selferwizings brûke ynstee fan arraykonstante foar k , moatte jo Ctrl + Shift + Enter drukke om it in arrayformule te meitsjen. Yn Excel 365 dy't dynamyske arrays stipet, wurket SUM SMALL yn beide gefallen as in gewoane formule.
Hoe wurket dizze formule:
Yn in reguliere formule jout SMALL in inkele k-ste lytste wearde yn in berik. Yn dit gefal leverje wy in arraykonstante lykas {1,2,3} foar it argumint k, en twingt it om in array fan de lytste 3 wearden werom te jaan:
{29240, 43610, 58860}
The SUMPRODUCT of SUM-funksje foeget de nûmers yn 'e array op en jout it totaal út. Dat is it!
INDEX MATCH SMALL formule om lytste wedstriden te krijen
Yn situaasje as jo wat gegevens wolle ophelje dy't ferbûn binne mei de lytste wearde, brûk dan de klassike INDEX MATCH kombinaasje mei SMALL foar de opsykwearde :
INDEX( return_array , MATCH(SMALL( lookup_array , n ), lookup_array , 0))Wêr :
- Return_array is in berik dêr't assosjearre gegevens út ekstrahearre wurde kinne.
- Lookup_array is in berik wêr't jo sykje nei de leechste n -ste wearde.
- N is de posysje fan de lytste wearde fan belang.
FoarBygelyks, om de namme te krijen fan it projekt dat de leechste kosten hat, is de formule yn E3:
=INDEX($A$2:$A$10, MATCH(SMALL($B$2:$B$10, D3), $B$2:$B$10, 0))
Wêr't A2:A10 de projektnammen binne, B2:B10 de kosten en D3 is de rang fan lytste.
Kopiearje de formule nei de ûndersteande sellen (E4 en E5), en jo krije de nammen fan 'e 3 goedkeapste projekten:
Opmerkingen:
- Dizze oplossing wurket prima foar in dataset dy't gjin duplikaten hat. Twa of mear dûbele wearden yn in numerike kolom kinne lykwols "bannen" meitsje yn 'e ranglist, wat sil liede ta ferkearde resultaten. Brûk yn dit gefal in bytsje mear ferfine formule om bannen te brekken.
- Yn Excel 365 kin dizze taak útfierd wurde mei help fan de nije dynamyske arrayfunksjes. Neist it folle ienfâldiger, lost dizze oanpak automatysk it probleem fan bannen op. Foar folsleine details, sjoch asjebleaft Hoe kinne jo ûnderste N wearden yn Excel filterje.
Sortearje nûmers fan leechste nei heechst mei in formule
Ik leau dat elkenien wit hoe't se nûmers yn oarder sette mei Excel Sortearje funksje. Mar witte jo hoe't jo sortearje mei in formule útfiere? De brûkers fan Excel 365 kinne it op in maklike manier dwaan mei de nije SORT-funksje. Yn Excel 2019, 2016 en eardere ferzjes wurket SORT net, helaas. Mar hawwe in bytsje leauwe, en SMALL sil komme ta de rêding :)
Lykas yn it earste foarbyld, brûke wy de ROWS-funksje mei in útwreidzjende berikferwizing nei increment k mei 1 yn elke rige dêr't de formulewurdt kopiearre:
=SMALL($A$2:$A$10, ROWS(A$2:A2))
Fier de formule yn yn 'e earste sel, en sleep it dan nei safolle sellen as der wearden binne yn' e oarspronklike dataset (C2: C10 yn dit foarbyld) :
Tip. Om ôfnimmend te sortearjen, brûk de funksje LARGE ynstee fan SMALL.
Excel SMALL formule foar datums en tiden
Om't datums en tiden ek numerike wearden binne (yn it ynterne Excel-systeem wurde datums opslein as opfolgjende getallen en tiden as desimale fraksjes), kin de SMALL-funksje se omgean likegoed sûnder ekstra ynspannings fan jo kant.
Sa't jo kinne sjen yn 'e skermôfbyldings hjirûnder, wurket in basisformule dy't wy foar sifers brûkten ek prachtich foar datums en tiden:
=SMALL($B$2:$B$10, D2)
LYTTE formule om de betiidste 3 datums te finen:
LYTTE formule om de koartste 3 kear te krijen:
It folgjende foarbyld lit sjen hoe't de SMALL-funksje jo kin helpe om in mear spesifike taak oangeande datums út te fieren.
Fyn in foarige datum dy't it tichtst by hjoed is of oantsjutte datum
Yn in list mei datums , stel dat jo de tichtstbyste datum foar in opjûne datum fine wolle. Dit kin dien wurde troch de SMALL-funksje te brûken yn kombinaasje mei COUNTIF.
Mei de list mei datums yn B2:B10 en de doeldatum yn E1, sil de folgjende formule in eardere datum weromjaan dy't it tichtst by de doeldatum leit:
=SMALL(B2:B10, COUNTIF(B2:B10, "<"&E1))
Om in datum út te heljen dy't twa datums foar de datum yn E1 is, dus in eardere mar ien datum, deformule is:
=SMALL(B2:B10, COUNTIF(B2:B10, "<"&E1)-1)
Om in ferline datum te finen de tichtst by hjoed , brûk de funksje TODAY foar de kritearia fan COUNTIF:
=SMALL(B2:B10, COUNTIF(B2:B10, "<"&TODAY()))
Tip. Om flaters te foarkommen yn situaasjes as in datum dy't oerienkomt mei jo kritearia net fûn wurdt, kinne jo de IFERROR-funksje om jo formule draaie, sa:
=IFERROR(SMALL(B2:B10, COUNTIF(B2:B10, "<"&E1)-1), "Not Found")
Hoe dizze formules wurkje:
It algemiene idee is om it oantal datums lytser te tellen dan de doeldatum mei COUNTIF. En dit tellen is krekt wat de SMALL-funksje nedich hat foar it k -argumint.
Om it konsept better te begripen, litte wy it út in oare hoeke sjen:
As 1- Aug-2020 (de doeldatum yn E1) ferskynde yn ús dataset, it soe de 7e grutste datum op 'e list wêze. Dêrtroch binne d'r seis datums lytser as it. Betsjutting, de 6e lytste datum is de foarige datum it tichtst by de doeldatum.
Dus, earst berekkenje wy hoefolle datums lytser binne as de datum yn E1 (it resultaat is 6):
COUNTIF(B2:B10, "<"&E1)
En plug dan de telling yn it 2e argumint fan SMALL:
=SMALL(B2:B10, 6)
Om de foarige mar ien datum te krijen (dat is de 5e lytste datum yn ús gefal) , wy lûke 1 ôf fan it resultaat fan COUNTIF.
Hoe ûnderste wearden yn Excel markearje
Om de lytste n wearden yn jo tabel te markearjen mei Excel betingstlike opmaak, kinne jo in ynboude Top brûke / Bottom opsje of set jo eigen regel op basearre op in SMALL formule. De earste metoade is fluggeren makliker te tapassen, wylst de twadde jout mear kontrôle en fleksibiliteit. De stappen hjirûnder sille jo liede troch it meitsjen fan in oanpaste regel:
- Selektearje it berik wêryn jo ûnderste wearden markearje wolle. Yn ús gefal binne de nûmers yn B2: B10, dus wy selektearje it. As jo folsleine rigen markearje wolle, selektearje dan A2:B10.
- Op it ljepblêd Thús , yn 'e groep Stylen , klikje op Betingstlike opmaak > Nije regel .
- Kies yn it dialoochfinster Nije opmaakregel Gebrûk in formule om te bepalen hokker sellen jo opmaak moatte.
- Yn it fak Opmaakwearden wêr't dizze formule wier is , Fier in formule yn lykas dizze:
=B2<=SMALL($B$2:$B$10, 3)
Dêr't B2 de sel meast lofts is fan it numerike berik om te kontrolearjen, $B$2:$B$10 is it hiele berik, en 3 is de n ûnderste wearden om te markearjen.
Hâld yn jo formule de referinsjetypen: de meast lofts sel is in relative referinsje (B2) wylst it berik is de absolute referinsje ($ B $ 2: $ B $ 10).
- Klik op de knop Opmaak en kies elk formaat dat jo wolle.
- Klik twa kear op OK om beide dialoochfinsters te sluten.
Dien! De ûnderste 3 wearden yn kolom B binne markearre:
Sjoch foar mear ynformaasje Excel betingsten opmaak basearre op formule.
Excel SMALL-funksje wurket net
As jo krekt hawwe sjoen út ús foarbylden, it brûken fan de SMALL funksje yn Excel is frij maklik, en do bistnei alle gedachten gjin swierrichheden mei hawwe. As jo formule net wurket, sil dat wierskynlik in #NUM! flater, dy't foarkomme kin fanwege de folgjende redenen:
- Array is leech of befettet gjin inkele numerike wearde.
- De k wearde is minder dan nul (in dwaze typflater kin jo oeren oan it oplossen fan problemen kostje!) of grutter is as it oantal wearden yn 'e array.
Dat is hoe't jo in LYTTE formule yn Excel brûke om te finen en markearje ûnderste nûmers yn in set fan gegevens. As jo oare senario's witte wêr't de funksje fan pas komt, binne jo fan herte wolkom om te dielen yn opmerkingen. Ik tankje jo foar it lêzen en hoopje jo nije wike op ús blog te sjen!
Oefeningswurkboek foar download
Excel SMALL formulefoarbylden (.xlsx-bestân)