Turinys
Šioje trumpoje pamokoje kalbėsime apie "Excel" funkciją SMALL, kaip ji veikia ir kaip ją naudoti norint rasti N-ąjį mažiausią skaičių, datą ar laiką.
Reikia rasti kelis mažiausius skaičius darbalapyje? Tai visai paprasta padaryti naudojant "Excel" rūšiavimo funkciją. Nenorite gaišti laiko iš naujo rūšiuodami duomenis po kiekvieno pakeitimo? Funkcija SMALL padės greitai rasti mažiausią vertę, antrą mažiausią, trečią mažiausią ir t. t.
"Excel" funkcija SMALL
SMALL yra statistinė funkcija, grąžinanti n-ąją mažiausią duomenų aibės reikšmę.
Funkcijos SMALL sintaksė apima du argumentus, kurie abu yra privalomi.
SMALL(masyvas, k)
Kur:
- Masyvas - masyvą arba langelių intervalą, iš kurio išgaunama mažiausia reikšmė.
- K - sveikasis skaičius, nurodantis poziciją nuo mažiausios grąžintinos reikšmės, t. y. k-oji mažiausia reikšmė.
Ši funkcija yra visose "Office 365", "Excel 2021", "Excel 2019", "Excel 2019", "Excel 2016", "Excel 2013", "Excel 2010" ir ankstesnėse "Excel" versijose.
Patarimas. Norėdami rasti k-ąją mažiausią reikšmę su kriterijais, naudokite "Excel" formulę SMALL IF.
Pagrindinė SMALL formulė programoje "Excel
Pagrindinę SMALL formulės formą labai lengva sukurti - tereikia nurodyti intervalą ir grąžintino mažiausio elemento poziciją.
Tarkime, kad B2:B10 skaičių sąraše norite išgauti trečią mažiausią reikšmę. Formulė tokia paprasta:
=SMALL(B2:B10, 3)
Kad būtų lengviau patikrinti rezultatą, B stulpelis surūšiuotas didėjančia tvarka:
4 dalykai, kuriuos turėtumėte žinoti apie SMALL funkciją
Toliau pateiktos naudojimo pastabos padės geriau suprasti funkcijos SMALL veikimą ir išvengti painiavos kuriant savo formules.
- Bet kuris tušti langeliai , tekstas vertės ir loginis reikšmes TRUE ir FALSE masyvas argumentas ignoruojamas.
- Jei masyvas yra vienas ar daugiau klaidos , grąžinama klaida.
- Jei yra dublikatai svetainėje masyvas Pavyzdžiui, jei dviejuose langeliuose yra skaičius 1, o funkcija SMALL sukonfigūruota taip, kad grąžintų mažiausią ir antrą mažiausią reikšmę, abiem atvejais gausite 1.
- Darant prielaidą, kad n yra reikšmių skaičius masyvas , SMALL(masyvas,1) grąžins mažiausią reikšmę, o SMALL(masyvas,n) pasirinks didžiausią reikšmę.
Kaip naudoti funkciją SMALL programoje "Excel" - formulių pavyzdžiai
O dabar apžvelkime daugiau "Excel" funkcijos SMALL pavyzdžių, kurie neapsiriboja pagrindiniu jos naudojimu.
Raskite apatines 3, 5, 10 ir t. t. reikšmes
Kaip jau žinote, funkcija SMALL skirta apskaičiuoti n-tąją mažiausią vertę. Šiame pavyzdyje parodyta, kaip tai padaryti efektyviausiai.
Tarkime, kad toliau pateiktoje lentelėje norite rasti apatines 3 reikšmes. Tam į atskiras ląsteles (mūsų atveju - D3, D4 ir D5) įveskite skaičius 1, 2 ir 3. Tada į E3 langelį įrašykite šią formulę ir vilkite ją žemyn per E5 langelį:
=SMALL($B$2:$B$10, D3)
E3 formulėje mažiausia reikšmė išvedama naudojant D3 skaičių kaip k Svarbiausia yra pateikti tinkamas ląstelių nuorodas, dėl kurių formulė būtų teisingai nukopijuota į kitas ląsteles: absoliučioji reikšmė, pvz. masyvas ir santykinis k .
Nenorite vargintis rankiniu rangų įvedimu? Naudokite funkciją ROWS su plečiasi asortimentas nuorodą, kad būtų pateikta k Šiuo tikslu pirmajam langeliui sukuriame absoliučiąją nuorodą (arba užfiksuojame tik eilutės koordinatę, pvz., B$2), o paskutiniam langeliui - santykinę nuorodą:
=SMALL($B$2:$B$10, ROWS(B$2:B2))
Dėl to, kopijuojant formulę į stulpelį, diapazono nuoroda išsiplečia. D2 eilutėje ROWS(B$2:B2) gaunama 1 už k D3 eilutėje ROWS(B$2:B3) gaunama 2, ir gaunama 2-oji mažiausia kaina, ir taip toliau.
Tiesiog nukopijuokite formulę per 5 langelius ir gausite 5 apatines reikšmes:
Apatinių N verčių suma
Norite rasti duomenų rinkinio mažiausių n reikšmių sumą? Jei jau išskyrėte reikšmes, kaip parodyta ankstesniame pavyzdyje, paprasčiausias sprendimas būtų tokia SUM formulė:
=SUMA(E3:E5)
Arba galite sudaryti nepriklausomą formulę naudodami funkciją SMALL kartu su SUMPRODUCT:
SUMPRODUKT(MAŽAS( masyvas , {1, ..., n }))Norint gauti mūsų duomenų rinkinio apatinių 3 reikšmių sumą, formulė yra tokia:
=SUMPRODUKTAS(SMALL(B2:B10, {1,2,3})
Funkcija SUM duos tokį patį rezultatą:
=SUM(SMALL(B2:B10, {1,2,3})
Pastaba. Jei naudojate ląstelių nuorodos o ne masyvo konstanta k , reikia paspausti Ctrl + Shift + Enter, kad tai būtų masyvo formulė. Programoje "Excel 365", kuri palaiko dinaminius masyvus, SUM SMALL bet kuriuo atveju veikia kaip įprasta formulė.
Kaip veikia ši formulė:
Įprastinėje formulėje SMALL grąžina vieną mažiausią k-ąją reikšmę intervale. Šiuo atveju argumentui k pateikiame masyvo konstantą, pavyzdžiui, {1,2,3}, ir priverčiame grąžinti 3 mažiausių reikšmių masyvą:
{29240, 43610, 58860}
Funkcija SUMPRODUCT arba SUM sudeda masyve esančius skaičius ir išveda bendrą sumą. Štai ir viskas!
INDEX MATCH SMALL formulė mažiausiems atitikmenims gauti
Jei norite gauti duomenis, susijusius su mažiausia reikšme, naudokite klasikinį INDEX MATCH derinį su SMALL kaip paieškos reikšme:
INDEKSAS( return_array , MATCH(SMALL( lookup_array , n ), lookup_array , 0))Kur:
- Return_array yra intervalas, iš kurio galima išskirti susijusius duomenis.
- Lookup_array yra intervalas, kuriame reikia ieškoti mažiausios n-tosios vertės.
- N yra mažiausios dominančios reikšmės padėtis.
Pavyzdžiui, norint sužinoti projekto, kurio sąnaudos yra mažiausios, pavadinimą, E3 formulė yra tokia:
=INDEX($A$2:$A$10, MATCH(SMALL($B$2:$B$10, D3), $B$2:$B$10, 0))
Kai A2:A10 yra projektų pavadinimai, B2:B10 - išlaidos, o D3 - rangas nuo mažiausio.
Nukopijuokite formulę į toliau esančius langelius (E4 ir E5) ir gausite 3 pigiausių projektų pavadinimus:
Pastabos:
- Šis sprendimas tinka duomenų rinkiniui, kuriame nėra pasikartojančių verčių. Tačiau jei skaitiniame stulpelyje yra dvi ar daugiau pasikartojančių verčių, reitinguojant gali susidaryti "lygiųjų", o tai lems neteisingus rezultatus. Tokiu atveju naudokite šiek tiek sudėtingesnę formulę, kad panaikintumėte lygiąsias.
- Programoje "Excel 365" šią užduotį galima atlikti naudojantis naujomis dinaminių masyvų funkcijomis. Be to, kad šis metodas yra daug paprastesnis, jis automatiškai išsprendžia sąsajų problemą. Išsamesnės informacijos rasite straipsnyje Kaip "Excel" programoje filtruoti apatines N reikšmes.
Rūšiuokite skaičius nuo mažiausio iki didžiausio naudodami formulę
Manau, kad visi žino, kaip sudėlioti skaičius į eilę naudojant "Excel" rūšiavimo funkciją. Bet ar žinote, kaip atlikti rūšiavimą naudojant formulę? "Excel 365" naudotojai tai gali padaryti paprastu būdu naudodami naująją funkciją SORT. 2019, 2016 ir ankstesnėse "Excel" versijose funkcija SORT, deja, neveikia. Bet šiek tiek tikėkite, ir SMALL ateis į pagalbą :)
Kaip ir pirmajame pavyzdyje, eilutėms didinti naudojame funkciją ROWS su išplečiamo intervalo nuoroda k 1 kiekvienoje eilutėje, į kurią kopijuojama formulė:
=SMALL($A$2:$A$10, ROWS(A$2:A2))
Įveskite formulę į pirmąją ląstelę, tada vilkite ją žemyn į tiek ląstelių, kiek pradiniame duomenų rinkinyje yra reikšmių (šiame pavyzdyje - C2:C10):
Patarimas. Rūšiuoti mažėjantis vietoj funkcijos SMALL naudokite funkciją LARGE.
"Excel SMALL" formulė datoms ir laikams
Kadangi datos ir laikai taip pat yra skaitinės vertės (vidinėje "Excel" sistemoje datos saugomos kaip nuoseklūs skaičiai, o laikai - kaip dešimtainės trupmenos), funkcija SMALL taip pat gali jas apdoroti be jokių papildomų pastangų.
Kaip matote toliau pateiktose ekrano nuotraukose, pagrindinė formulė, kurią naudojome skaičiams, puikiai tinka ir datoms bei laikams:
=SMALL($B$2:$B$10, D2)
MAŽA formulė 3 anksčiausioms datoms rasti:
Maža formulė, kad gautumėte trumpiausią 3 kartus:
Kitame pavyzdyje parodyta, kaip funkcija SMALL gali padėti atlikti konkretesnę užduotį, susijusią su datomis.
Rasti ankstesnę datą, artimiausią šiandieninei arba nurodytai datai
Tarkime, kad datų sąraše norite rasti artimiausią datą prieš nurodytą datą. Tai galima padaryti naudojant funkciją SMALL kartu su COUNTIF.
Jei datų sąrašas yra B2:B10, o tikslinė data - E1, toliau pateikta formulė grąžins ankstesnę datą, artimiausią tikslinei datai:
=SMALL(B2:B10, COUNTIF(B2:B10, "<"&E1))
Norint išgauti datą, kuri yra dviem datomis ankstesnė už E1 datą, t. y. ankstesnę, bet vieną datą, formulė yra tokia:
=SMALL(B2:B10, COUNTIF(B2:B10, "<"&E1)-1)
Ankstesnės datos paieška arčiausiai šiandienos , COUNTIF kriterijams naudokite funkciją TODAY:
=SMALL(B2:B10, COUNTIF(B2:B10, "<"&TODAY())
Patarimas. Kad išvengtumėte klaidų, kai nerandama jūsų kriterijus atitinkančios datos, galite savo formulę apgaubti funkcija IFERROR, pvz., taip:
=IFERROR(SMALL(B2:B10, COUNTIF(B2:B10,"<"&E1)-1), "Nerastas")
Kaip veikia šios formulės:
Bendroji idėja yra suskaičiuoti datas, kurios yra mažesnės už tikslinę datą, naudojant COUNTIF. Ir šis skaičius yra būtent tai, ko reikia SMALL funkcijai k argumentas.
Kad geriau suprastume šią sąvoką, pažvelkime į ją kitu kampu:
Jei mūsų duomenų rinkinyje atsirastų 2020 m. rugpjūčio 1 d. (E1 tikslinė data), ji būtų 7-oji pagal dydį data sąraše. Vadinasi, yra šešios už ją mažesnės datos. Vadinasi, 6-oji mažiausia data yra ankstesnė data, artimiausia tikslinei datai.
Pirmiausia apskaičiuojame, kiek datų yra mažesnės už datą E1 (rezultatas yra 6):
COUNTIF(B2:B10, "<"&E1)
Tada įjunkite skaičių į 2-ąjį SMALL argumentą:
=SMALL(B2:B10, 6)
Norėdami gauti priešpaskutinę datą (mūsų atveju tai yra penkta mažiausia data), iš COUNTIF rezultato atimame 1.
Kaip paryškinti apatines reikšmes "Excel" programoje
Norėdami išryškinti mažiausias n reikšmių reikšmes lentelėje naudodami "Excel" sąlyginį formatavimą, galite naudoti integruotą parinktį "Top/Bottom" arba sukurti savo taisyklę, pagrįstą formule SMALL. Pirmąjį metodą taikyti greičiau ir paprasčiau, o antrasis suteikia daugiau kontrolės ir lankstumo. Toliau aprašyti žingsniai padės jums sukurti pasirinktinę taisyklę:
- Pasirinkite intervalą, kuriame norite paryškinti apatines reikšmes. Mūsų atveju skaičiai yra B2:B10, todėl pasirenkame jį. Jei norite paryškinti visas eilutes, pasirinkite A2:B10.
- Dėl Pagrindinis skirtuke Stiliai grupę, spustelėkite Sąlyginis formatavimas > Nauja taisyklė .
- Į Nauja formatavimo taisyklė dialogo langą, pasirinkite Naudokite formulę, kad nustatytumėte, kurias ląsteles formatuoti.
- Į Formuoti reikšmes, kai ši formulė yra teisinga įveskite tokią formulę kaip ši:
=B2<=SMALL($B$2:$B$10, 3)
Kai B2 yra kraštutinis kairysis tikrinamo skaitmenų intervalo langelis, $B$2:$B$10 yra visas intervalas, o 3 yra n išryškinti apatines vertes.
Savo formulėje atkreipkite dėmesį į nuorodų tipus: kairioji ląstelė yra santykinė nuoroda (B2), o intervalas yra absoliuti nuoroda ($B$2:$B$10).
- Spustelėkite Formatas mygtuką ir pasirinkite norimą formatą.
- Du kartus spustelėkite OK, kad uždarytumėte abu dialogo langus.
Atlikta! 3 apatinės B stulpelio reikšmės yra paryškintos:
Daugiau informacijos rasite skyriuje "Excel" sąlyginis formatavimas pagal formulę.
Neveikia "Excel" funkcija SMALL
Kaip ką tik pamatėte iš mūsų pavyzdžių, naudoti funkciją SMALL "Excel" programoje yra gana paprasta ir vargu ar su ja susidursite su sunkumais. Jei jūsų formulė neveikia, greičiausiai tai bus #NUM! klaida, kuri gali atsirasti dėl toliau nurodytų priežasčių:
- Masyvas yra tuščias arba jame nėra nė vienos skaitinės vertės.
- Svetainė k reikšmė yra mažesnė už nulį (dėl kvailos rašybos klaidos galite sugaišti valandų valandas, kol išspręsite problemą!) arba viršija reikšmių skaičių masyve.
Štai kaip "Excel" programoje naudoti formulę SMALL, kad duomenų rinkinyje rastumėte ir išryškintumėte apatinius skaičius. Jei žinote kitų scenarijų, kai ši funkcija praverčia, kviečiu pasidalyti komentaruose. Dėkoju, kad perskaitėte, ir tikiuosi, kad kitą savaitę susitiksime mūsų tinklaraštyje!
Atsisiųsti praktikos sąsiuvinį
"Excel" mažų formulių pavyzdžiai (.xlsx failas)