Tartalomjegyzék
Ebben a rövid bemutatóban az Excel SMALL függvényéről, működéséről és arról lesz szó, hogyan használhatja az N-edik legkisebb szám, dátum vagy idő megkeresésére.
Meg kell találnia néhány legalacsonyabb számot egy munkalapon? Ez nagyon könnyen megoldható az Excel Rendezés funkciójával. Nem akar időt pazarolni arra, hogy minden változásnál újra rendezgesse az adatokat? A KISZERŰ funkció segítségével gyorsan megtalálhatja a legalacsonyabb értéket, a második legkisebbet, a harmadik legkisebbet és így tovább.
Excel SMALL funkció
A SMALL egy statisztikai függvény, amely az n-edik legkisebb értéket adja vissza egy adathalmazban.
A SMALL függvény szintaxisa két argumentumot tartalmaz, mindkettő kötelező.
SMALL(tömb, k)
Hol:
- Array - egy tömb vagy egy cellatartomány, amelyből a legkisebb értéket kell kinyerni.
- K - egy egész szám, amely a legalacsonyabb értéktől számított pozíciót jelzi, azaz a k-adik legkisebb értéket.
A funkció az Excel összes verziójában elérhető az Office 365, az Excel 2021, az Excel 2019, az Excel 2016, az Excel 2013, az Excel 2010 és korábbi verziókban.
Tipp: A k-adik legalacsonyabb érték kereséséhez használja az Excel SMALL IF képletét.
Alapvető SMALL képlet az Excelben
A SMALL képletet alapformájában nagyon egyszerű felépíteni - csak a tartományt és a legkisebb visszaadandó elem pozícióját kell megadni.
Tegyük fel, hogy a B2:B10 számok listájából a 3. legkisebb értéket szeretnénk kinyerni. A képlet a következő egyszerű:
=SMALL(B2:B10, 3)
Az eredmény ellenőrzésének megkönnyítése érdekében a B oszlop növekvő sorrendbe van rendezve:
4 dolog, amit a KISZ funkcióról tudni kell
A következő használati megjegyzések segítenek jobban megérteni a SMALL függvény viselkedését, és elkerülni a zavart a saját képletei összeállításakor.
- Bármelyik üres cellák , szöveg értékek, és logikai értékek TRUE és FALSE a array argumentumot figyelmen kívül hagyjuk.
- Ha array egy vagy több hibák , hiba érkezik vissza.
- Abban az esetben, ha vannak duplikátumok a oldalon. array Ha például két cellában is szerepel az 1-es szám, és a KISZ függvény úgy van beállítva, hogy a legkisebb és a második legkisebb értéket adja vissza, akkor mindkét esetben 1-et kapunk.
- Feltételezve, hogy n az értékek száma a array , a KIS(tömb,1) a legkisebb értéket adja vissza, a KIS(tömb,n) pedig a legnagyobb értéket.
A SMALL függvény használata az Excelben - képletpéldák
Most pedig nézzük meg az Excel SMALL függvény néhány további példáját, amelyek túlmutatnak az alapvető használaton.
Keresse meg az alsó 3, 5, 10, stb. értékeket
Mint már tudod, a SMALL függvény célja, hogy kiszámítsa az n-edik legkisebb értéket. Ez a példa azt mutatja be, hogyan lehet ezt a leghatékonyabban megvalósítani.
Tegyük fel, hogy az alábbi táblázatban az alsó 3 értéket szeretnénk megtalálni. Ehhez írjuk be az 1, 2 és 3 számokat külön cellákba (esetünkben D3, D4 és D5). Ezután írjuk be a következő képletet az E3 cellába, és húzzuk lefelé az E5 cellán keresztül:
=SMALL($B$2:$B$10, D3)
Az E3-ban a képlet a legkisebb értéket veszi ki a D3-ban szereplő számot használva a k A legfontosabb dolog a megfelelő cellahivatkozások megadása, amelyeknek köszönhetően a képlet helyesen másolódik más cellákba: abszolút a következő cellák esetében array és relatív a k .
Nem akarja a rangsorok kézi beírásával bajlódni? Használja a ROWS függvényt egy bővülő választék hivatkozás a k Ehhez abszolút hivatkozást készítünk az első cellához (vagy csak a sorkoordinátát rögzítjük, mint a B$2) és relatív hivatkozást az utolsó cellához:
=SMALL($B$2:$B$10, ROWS(B$2:B2))
Ennek eredményeképpen a tartományhivatkozás bővül, ahogy a képletet lemásoljuk az oszlopba. A D2-ben a ROWS(B$2:B2) 1-et eredményez az alábbi értékeknél k , és a képlet a legalacsonyabb költséget adja vissza. D3-ban a ROWS(B$2:B3) 2-t ad, és megkapjuk a 2. legalacsonyabb költséget, és így tovább.
Csak másolja a képletet 5 cellán keresztül, és megkapja az alsó 5 értéket:
Sum bottom N értékek
Szeretné megtalálni a legkisebb n értékek összegét egy adathalmazban? Ha már kivontuk az értékeket, mint az előző példában, a legegyszerűbb megoldás egy SUM formula lenne, például:
=SUM(E3:E5)
Vagy készíthet egy független képletet a SMALL függvény és a SUMPRODUCT függvény együttes használatával:
SUMPRODUCT(SMALL( array , {1, ..., n }))Ha az adathalmazunkban az alsó 3 érték összegét szeretnénk megkapni, a képlet a következő formát ölti:
=SUMPRODUCT(SMALL(B2:B10, {1,2,3}))
A SUM függvény ugyanezt az eredményt adja:
=SUM(SMALL(B2:B10, {1,2,3}))
Megjegyzés: Ha a cellahivatkozások a tömbi konstans helyett a k , a Ctrl + Shift + Enter billentyűkombinációval tömbképletet kell létrehoznia. A dinamikus tömböket támogató Excel 365 programban a SUM SMALL mindkét esetben normál képletként működik.
Hogyan működik ez a képlet:
Egy szabályos képletben a SMALL egy tartomány k-adik legkisebb értékét adja vissza. Ebben az esetben a k argumentumhoz egy {1,2,3} típusú tömbkonstansot adunk meg, így a legkisebb 3 értéket tartalmazó tömböt kell visszaadnia:
{29240, 43610, 58860}
A SUMPRODUCT vagy SUM függvény összeadja a tömbben lévő számokat, és kiadja a végösszeget. Ennyi!
INDEX MATCH SMALL formula a legkisebb találatok kinyeréséhez
Ha a legkisebb értékhez kapcsolódó adatokat szeretne lekérdezni, használja a klasszikus INDEX MATCH kombinációt a SMALL értékkel a keresési értékhez:
INDEX( return_array , MATCH(SMALL( lookup_array , n ), lookup_array , 0))Hol:
- Return_array egy tartomány, amelyből a kapcsolódó adatokat ki kell vonni.
- Lookup_array egy tartomány, ahol a legalacsonyabb n-edik értéket kell keresni.
- N a legkisebb érdekeltségi érték pozíciója.
Például a legalacsonyabb költségű projekt nevének kiszámításához az E3-ban a következő képletet kell használni:
=INDEX($A$2:$A$10, MATCH(SMALL($B$2:$B$10, D3), $B$2:$B$10, 0))
Ahol A2:A10 a projektnevek, B2:B10 a költségek és D3 a legkisebbtől számított rangsor.
Másolja a képletet az alábbi cellákba (E4 és E5), és megkapja a 3 legolcsóbb projekt nevét:
Megjegyzések:
- Ez a megoldás jól működik olyan adathalmaz esetén, amely nem tartalmaz duplikátumokat. Azonban két vagy több duplikált érték egy numerikus oszlopban "döntetleneket" hozhat létre a rangsorolásban, ami rossz eredményekhez vezet. Ebben az esetben kérjük, használjon egy kicsit kifinomultabb képletet a döntetlenek feloldására.
- Az Excel 365-ben ez a feladat az új dinamikus tömbfüggvények segítségével is megoldható. Ez a megközelítés amellett, hogy sokkal egyszerűbb, automatikusan megoldja a kötöttségek problémáját. A teljes részleteket lásd a Hogyan szűrjük az alsó N értéket az Excelben?
A számok rendezése a legalacsonyabbtól a legmagasabbig egy képlettel
Azt hiszem, mindenki tudja, hogyan lehet a számokat sorrendbe tenni az Excel Rendezés funkciójával. De azt tudja, hogyan lehet a rendezést képlettel elvégezni? Az Excel 365 felhasználói az új SORT funkcióval könnyedén megtehetik. Az Excel 2019, 2016 és korábbi verziókban a SORT sajnos nem működik. De legyen egy kis hite, és a KISZERZÉS jön a segítségére :)
Az első példához hasonlóan a ROWS függvényt használjuk egy bővülő tartományhivatkozással a növekmény növelésére. k 1-gyel minden olyan sorban, ahová a képletet másolja:
=SMALL($A$2:$A$10, ROWS(A$2:A2))
Írja be a képletet az első cellába, majd húzza lefelé annyi cellába, ahány érték van az eredeti adatkészletben (ebben a példában C2:C10):
Tipp. Válogatni ereszkedő , használja a LARGE funkciót a SMALL helyett.
Excel SMALL képlet dátumokra és időpontokra
Mivel a dátumok és időpontok is numerikus értékek (az Excel belső rendszerében a dátumok sorszámként, az időpontok pedig tizedes törtként vannak tárolva), a SMALL függvény ezeket is képes kezelni, minden további erőfeszítés nélkül.
Amint az alábbi képernyőképeken látható, a számok esetében használt alapképlet a dátumok és időpontok esetében is kiválóan működik:
=SMALL($B$2:$B$10, D2)
KIS képlet a legkorábbi 3 dátum megtalálásához:
KIS képlet, hogy a legrövidebb 3-szor:
A következő példa azt mutatja be, hogy a KIS funkció hogyan segíthet egy pontosabb, dátumokkal kapcsolatos feladat elvégzésében.
A mai naphoz vagy a megadott dátumhoz legközelebbi korábbi dátum keresése
Tegyük fel, hogy egy dátumokból álló listában meg akarjuk találni a megadott dátum előtti legközelebbi dátumot. Ezt a SMALL függvénnyel és a COUNTIF függvénnyel kombinálva érhetjük el.
A B2:B10-ben lévő dátumok listája és az E1-ben lévő céldátum alapján a következő képlet a céldátumhoz legközelebbi korábbi dátumot adja vissza:
=SMALL(B2:B10, COUNTIF(B2:B10, "<"&E1))
Az E1-ben szereplő dátumot két nappal megelőző dátum, azaz egy korábbi, de egy dátummal korábbi dátum kinyeréséhez a képlet a következő:
=SMALL(B2:B10, COUNTIF(B2:B10, "<"&E1)-1)
Múltbeli dátum keresése a maihoz legközelebb , használja a TODAY funkciót a COUNTIF kritériumaihoz:
=SMALL(B2:B10, COUNTIF(B2:B10, "<"&TODAY()))
Tipp: A hibák elkerülése érdekében, ha nem talál a feltételeknek megfelelő dátumot, az IFERROR függvényt a képlet köré tekerheti, például így:
=IFERROR(SMALL(B2:B10, COUNTIF(B2:B10, "<"&E1)-1), "Nem található")
Hogyan működnek ezek a képletek:
Az általános ötlet az, hogy a COUNTIF segítségével megszámoljuk a céldátumnál kisebb dátumok számát. És pontosan ez a számolás az, amire a SMALL függvénynek szüksége van a k érv.
Hogy jobban megértsük a koncepciót, nézzük meg más szemszögből:
Ha 2020. augusztus 1. (az E1-ben szereplő céldátum) megjelenne az adathalmazunkban, akkor ez lenne a 7. legnagyobb dátum a listán. Következésképpen hat ennél kisebb dátum van. Vagyis a 6. legkisebb dátum a céldátumhoz legközelebbi előző dátum.
Tehát először is kiszámoljuk, hány dátum kisebb, mint az E1-ben lévő dátum (az eredmény 6):
COUNTIF(B2:B10, "<"&E1)
Ezután a számot a SMALL 2. argumentumába kell beilleszteni:
=SMALL(B2:B10, 6)
Ahhoz, hogy megkapjuk az utolsó előtti dátumot (ami esetünkben az 5. legkisebb dátum), kivonjuk az 1-et a COUNTIF eredményéből.
Hogyan lehet kiemelni az alsó értékeket az Excelben
Ahhoz, hogy az Excel feltételes formázással kiemelje a legkisebb n értékeket a táblázatban, használhatja a beépített Top/Bottom opciót, vagy létrehozhatja saját szabályát egy SMALL képlet alapján. Az első módszer gyorsabb és könnyebben alkalmazható, míg a második nagyobb ellenőrzést és rugalmasságot biztosít. Az alábbi lépésekkel végigvezetjük egy egyéni szabály létrehozásán:
- Válassza ki azt a tartományt, amelyben az alsó értékeket szeretné kiemelni. Esetünkben a számok a B2:B10 tartományban vannak, ezért ezt választjuk ki. Ha egész sorokat szeretne kiemelni, akkor válassza ki az A2:B10 tartományt.
- A Home lapon, a Stílusok csoport, kattintson a Feltételes formázás > Új szabály .
- A Új formázási szabály párbeszédpanelen válassza a Használjon képletet annak meghatározásához, hogy mely cellákat kell formázni.
- A Formázza azokat az értékeket, ahol ez a képlet igaz mezőbe írjon be egy ilyen képletet:
=B2<=SMALL($B$2:$B$10, 3)
Ahol B2 az ellenőrizendő numerikus tartomány legbaloldali cellája, $B$2:$B$10 a teljes tartomány, 3 pedig a számtartomány legbelső cellája. n alsó értékek kiemelése.
A képletben ügyeljen a hivatkozási típusokra: a bal szélső cella relatív hivatkozás (B2), míg a tartomány abszolút hivatkozás ($B$2:$B$10).
- Kattintson a Formátum gombot, és válasszon bármilyen formátumot.
- Kattintson kétszer az OK gombra mindkét párbeszédablak bezárásához.
Kész! A B oszlop alsó 3 értéke ki van emelve:
További információért lásd: Excel feltételes formázás képlet alapján.
Az Excel SMALL funkció nem működik
Ahogy az imént a példáinkból láthattad, a SMALL függvény használata az Excelben meglehetősen egyszerű, és nem valószínű, hogy nehézségeid lesznek vele. Ha a képleted nem működik, az valószínűleg egy #NUM! hiba lesz, ami a következő okok miatt fordulhat elő:
- Array üres vagy nem tartalmaz egyetlen numerikus értéket sem.
- A k értéke kisebb, mint nulla (egy buta elírás több órányi hibaelhárításba kerülhet!), vagy meghaladja a tömbben lévő értékek számát.
Ez az, hogyan használjuk a SMALL képletet az Excelben, hogy megtaláljuk és kiemeljük a legalsó számokat egy adathalmazban. Ha tudsz más olyan forgatókönyvet, ahol a függvény jól jön, szívesen megosztod velünk kommentben. Köszönöm, hogy elolvastad, és remélem, jövő héten találkozunk a blogon!
Gyakorlati munkafüzet letölthető
Excel SMALL formula példák (.xlsx fájl)