Innholdsfortegnelse
I denne korte opplæringen skal vi snakke om Excel SMALL-funksjonen, hvordan den fungerer og hvordan du bruker den til å finne det N. minste tallet, datoen eller klokkeslettet.
Trenger finne noen laveste tall i et regneark? Dette er ganske enkelt å gjøre med Excel Sorter-funksjonen. Vil du ikke kaste bort tid på å sortere dataene dine på nytt med hver endring? SMALL-funksjonen vil hjelpe deg raskt å finne den laveste verdien, nest minste, tredje minste, og så videre.
Excel SMALL-funksjonen
SMALL er en statistisk funksjon som returnerer den n-te minste verdien i et datasett.
Syntaksen til SMALL-funksjonen inkluderer to argumenter, som begge er obligatoriske.
SMALL(array, k)
Hvor:
- Array - en matrise eller et celleområde som den minste verdien skal trekkes ut fra.
- K - en heltall som indikerer posisjonen fra laveste verdi til retur, dvs. k-te minste.
Funksjonen er tilgjengelig i alle versjoner av Excel for Office 365, Excel 2021, Excel 2019, Excel 2016, Excel 2013, Excel 2010 og tidligere.
Tips. For å finne k-te laveste verdi med kriterier, bruk Excel LITEN HVIS formel.
Grunnleggende LITEN formel i Excel
En LITEN formel i sin grunnleggende form er veldig enkel å bygge - du spesifiserer bare rekkevidde og posisjonen fra det minste elementet som skal returneres.
I listen over tall i B2:B10, forutsatt at du vil trekke ut den tredje minste verdien. Formelen er somenkelt som:
=SMALL(B2:B10, 3)
For å gjøre det enklere for deg å sjekke resultatet, er kolonne B sortert i stigende rekkefølge:
4 ting du bør vite om SMALL-funksjonen
De følgende bruksnotatene vil hjelpe deg bedre å forstå virkemåten til SMALL-funksjonen og unngå forvirring når du bygger dine egne formler.
- Alle tomme celler , tekst -verdier og logiske -verdier TRUE og FALSE i matrise -argumentet ignoreres.
- Hvis matrise inneholder en eller flere feil , en feil returneres.
- Hvis det er duplikater i matrise , er formelen din kan resultere i "bånd". For eksempel, hvis to celler inneholder tallet 1, og SMALL-funksjonen er konfigurert til å returnere den minste og den 2. minste verdien, vil du få 1 i begge tilfeller.
- Forutsatt at n er antall verdier i matrise , SMALL(array,1) vil returnere den laveste verdien, og SMALL(array,n) vil velge den høyeste verdien.
Hvordan bruke SMALL-funksjonen i Excel - formeleksempler
Og nå, la oss se på noen flere eksempler på Excel SMALL-funksjonen som går utover dens grunnleggende bruk.
Finn de nederste 3, 5, 10, osv. verdier
Som du allerede vet, er SMALL-funksjonen designet for å beregne den n-te laveste verdien. Dette eksemplet viser hvordan du gjør dette mest effektivt.
I tabellen nedenfor antar du at du ønsker å finne de tre nederste verdiene. For dette, skriv inntall 1, 2 og 3 i separate celler (D3, D4 og D5 i vårt tilfelle). Skriv deretter inn følgende formel i E3 og dra den ned gjennom E5:
=SMALL($B$2:$B$10, D3)
I E3 trekker formelen ut den minste verdien ved å bruke tallet i D3 for k argument. Nøkkelen er å oppgi riktige cellereferanser som gjør at formelen kopieres riktig i andre celler: absolutt for matrise og relativ for k .
Vil du ikke bry deg med å skrive inn rekkene manuelt? Bruk ROWS-funksjonen med en utvidende område -referanse for å gi k -verdien. For dette lager vi en absolutt referanse for den første cellen (eller låser bare radkoordinaten som B$2) og relativ referanse for den siste cellen:
=SMALL($B$2:$B$10, ROWS(B$2:B2))
Som et resultat vil området referanse utvides etter hvert som formelen kopieres ned i kolonnen. I D2 gir ROWS(B$2:B2) 1 for k , og formelen returnerer den laveste kostnaden. I D3 gir ROWS(B$2:B3) 2, og vi får den nest laveste kostnaden, og så videre.
Bare kopier formelen gjennom 5 celler, så får du de 5 nederste verdiene:
Sum nederste N verdier
Vil du finne totalt de minste n verdiene i et datasett? Hvis du allerede har trukket ut verdiene som vist i forrige eksempel, vil den enkleste løsningen være en SUM-formel som:
=SUM(E3:E5)
Eller du kan lag en uavhengig formel ved å bruke LITEN-funksjonen sammen med SUMPRODUKT:
SUMPRODUKT(LITEN( matrise, {1, …, n}))For å få summen av de 3 nederste verdiene i datasettet vårt, har formelen denne formen :
=SUMPRODUCT(SMALL(B2:B10, {1,2,3}))
SUM-funksjonen vil gi samme resultat:
=SUM(SMALL(B2:B10, {1,2,3}))
Merk. Hvis du bruker cellereferanser i stedet for matrisekonstanten for k , må du trykke Ctrl + Shift + Enter for å gjøre det til en matriseformel. I Excel 365 som støtter dynamiske matriser, fungerer SUM SMALL som en vanlig formel i begge tilfeller.
Hvordan denne formelen fungerer:
I en vanlig formel returnerer SMALL en enkelt k-te minste verdi i et område. I dette tilfellet leverer vi en matrisekonstant som {1,2,3} for k-argumentet, og tvinger den til å returnere en matrise med de minste 3 verdiene:
{29240, 43610, 58860}
SUMPRODUKTET eller SUM-funksjonen legger sammen tallene i matrisen og gir ut totalen. Det var det!
INDEX MATCH SMALL-formel for å få minste treff
I situasjoner hvor du ønsker å hente noen data knyttet til den minste verdien, bruk den klassiske INDEX MATCH-kombinasjonen med SMALL for oppslagsverdien :
INDEX( returmatrise , MATCH(SMALL( oppslagsmatrise , n ), oppslagsmatrise , 0))Hvor :
- Return_matrise er et område som tilknyttede data kan trekkes ut fra.
- Oppslagsmatrise er et område hvor man kan søke etter den laveste n -th verdi.
- N er posisjonen til den minste verdien av interesse.
Forfor eksempel, for å få navnet på prosjektet som har lavest kostnad, er formelen i E3:
=INDEX($A$2:$A$10, MATCH(SMALL($B$2:$B$10, D3), $B$2:$B$10, 0))
Hvor A2:A10 er prosjektnavnene, B2:B10 er kostnadene og D3 er rangeringen fra minste.
Kopier formelen til cellene nedenfor (E4 og E5), så får du navnene på de 3 billigste prosjektene:
Merknader:
- Denne løsningen fungerer fint for et datasett som ikke har duplikater. Imidlertid kan to eller flere dupliserte verdier i en numerisk kolonne skape "bindinger" i rangeringen, noe som vil føre til feil resultater. I dette tilfellet, bruk en litt mer sofistikert formel for å bryte bånd.
- I Excel 365 kan denne oppgaven utføres ved hjelp av de nye dynamiske array-funksjonene. Bortsett fra å være mye enklere, løser denne tilnærmingen automatisk problemet med bånd. For fullstendige detaljer, se Hvordan filtrere nederste N-verdier i Excel.
Sorter tall fra laveste til høyeste med en formel
Jeg tror alle vet hvordan man setter tall i rekkefølge med Excel sorteringsfunksjon. Men vet du hvordan du utfører sortering med en formel? Brukerne av Excel 365 kan gjøre det på en enkel måte med den nye SORTERING-funksjonen. I Excel 2019, 2016 og tidligere versjoner fungerer ikke SORT, dessverre. Men ha litt tro, og SMALL vil komme til unnsetning :)
Som i det første eksemplet bruker vi ROWS-funksjonen med en utvidende rekkeviddereferanse for å øke k med 1 i hver rad hvor formelener kopiert:
=SMALL($A$2:$A$10, ROWS(A$2:A2))
Skriv inn formelen i den første cellen, og dra den ned til så mange celler som det er verdier i det opprinnelige datasettet (C2:C10 i dette eksemplet) :
Tips. For å sortere synkende , bruk LARGE-funksjonen i stedet for SMALL.
Excel SMALL formel for datoer og klokkeslett
Fordi datoer og klokkeslett også er numeriske verdier (i det interne Excel-systemet lagres datoer som sekvenstall og tider som desimalbrøker), kan SMALL-funksjonen håndtere dem også uten ekstra innsats fra din side.
Som du kan se på skjermbildene nedenfor, fungerer en grunnleggende formel som vi brukte for tall også for datoer og klokkeslett:
=SMALL($B$2:$B$10, D2)
LITEN formel for å finne de tre tidligste datoene:
LITEN formel for å få den korteste 3 ganger:
Det neste eksemplet viser hvordan SMALL-funksjonen kan hjelpe deg med å utføre en mer spesifikk oppgave knyttet til datoer.
Finn en tidligere dato nærmest i dag eller spesifisert dato
I en liste over datoer , antar at du vil finne den nærmeste datoen før en spesifisert dato. Dette kan gjøres ved å bruke SMALL-funksjonen i kombinasjon med COUNTIF.
Med listen over datoer i B2:B10 og måldatoen i E1, vil følgende formel returnere en tidligere dato nærmest måldatoen:
=SMALL(B2:B10, COUNTIF(B2:B10, "<"&E1))
For å trekke ut en dato som er to datoer før datoen i E1, dvs. en tidligere men én dato,formelen er:
=SMALL(B2:B10, COUNTIF(B2:B10, "<"&E1)-1)
For å finne en tidligere dato nærmest i dag , bruk TODAY-funksjonen for COUNTIF sine kriterier:
=SMALL(B2:B10, COUNTIF(B2:B10, "<"&TODAY()))
Tips. For å forhindre feil i situasjoner der en dato som samsvarer med kriteriene ikke blir funnet, kan du omslutte IFERROR-funksjonen rundt formelen din, slik:
=IFERROR(SMALL(B2:B10, COUNTIF(B2:B10, "<"&E1)-1), "Not Found")
Hvordan disse formlene fungerer:
Den generelle ideen er å telle antall datoer mindre enn måldatoen med COUNTIF. Og denne tellingen er nøyaktig hva SMALL-funksjonen trenger for k -argumentet.
For bedre å forstå konseptet, la oss se på det fra en annen vinkel:
Hvis 1- Aug-2020 (måldatoen i E1) dukket opp i datasettet vårt, det ville være den 7. største datoen på listen. Følgelig er det seks datoer mindre enn det. Det betyr at den 6. minste datoen er den forrige datoen nærmest måldatoen.
Så, først beregner vi hvor mange datoer som er mindre enn datoen i E1 (resultatet er 6):
COUNTIF(B2:B10, "<"&E1)
Og så kobler du tellingen inn i det andre argumentet til SMALL:
=SMALL(B2:B10, 6)
For å få den forrige men én datoen (som er den femte minste datoen i vårt tilfelle) , trekker vi 1 fra COUNTIF sitt resultat.
Hvordan markere bunnverdier i Excel
For å markere de minste n verdiene i tabellen din med Excel betinget formatering, kan du bruke enten en innebygd Top /Bundalternativ eller sett opp din egen regel basert på en LITEN formel. Den første metoden er raskereog lettere å påføre, mens den andre gir mer kontroll og fleksibilitet. Trinnene nedenfor vil lede deg gjennom å lage en egendefinert regel:
- Velg området der du vil fremheve bunnverdier. I vårt tilfelle er tallene i B2:B10, så vi velger det. Hvis du vil utheve hele rader, velg A2:B10.
- I kategorien Hjem i Stiler -gruppen klikker du Betinget formatering > Ny regel .
- I dialogboksen Ny formateringsregel velger du Bruk en formel for å bestemme hvilke celler som skal formateres.
- I boksen Format verdier der denne formelen er sann skriver du inn en formel som denne:
=B2<=SMALL($B$2:$B$10, 3)
Hvor B2 er cellen lengst til venstre i det numeriske område som skal sjekkes, $B$2:$B$10 er hele området, og 3 er n nederste verdier som skal fremheves.
I formelen din, vær oppmerksom på referansetypene: cellen lengst til venstre er en relativ referanse (B2) mens området er den absolutte referansen ($B$2:$B$10).
- Klikk Format -knappen og velg et format du liker.
- Klikk OK to ganger for å lukke begge dialogvinduene.
Ferdig! De tre nederste verdiene i kolonne B er uthevet:
For mer informasjon, se Excel betinget formatering basert på formel.
Excel SMALL-funksjonen fungerer ikke
Som du nettopp har sett fra eksemplene våre, er det ganske enkelt å bruke SMALL-funksjonen i Excel, og du erneppe ha noen problemer med det. Hvis formelen din ikke fungerer, vil det mest sannsynlig være et #NUM! feil, som kan oppstå på grunn av følgende årsaker:
- Array er tom eller inneholder ikke en enkelt numerisk verdi.
- k -verdien er mindre enn null (en dum skrivefeil kan koste deg timer med feilsøking!) eller overskrider antall verdier i matrisen.
Slik bruker du en LITEN formel i Excel for å finne og uthev nederste tall i et sett med data. Hvis du kjenner til andre scenarier der funksjonen kommer til nytte, er du hjertelig velkommen til å dele i kommentarer. Jeg takker for at du leser og håper å se deg på bloggen vår neste uke!
Øvningsarbeidsbok for nedlasting
Excel SMÅ formeleksempler (.xlsx-fil)