Hivatkozott Excel verzio: Excel 2007 Excel 2010 Excel 2013 Excel 2016
Nemrég egy feladat során szükség volt arra, hogy a legkisebb nullától eltérő számot keressem meg egy tartományban. Utánajártam a dolognak. Kiderült, hogy többféleképpen is megoldható, íme a lehetőségek. A tartomány, ahol a legkisebb nem nullát keressük, a példákban az A1:A10 tartományban van.
Tömbképlet nélküli megoldások
A kedvencem. KICSI és DARABTELI ( SMALL és COUNTIF) függvényekkel
=KICSI(A1:A10;DARABTELI($A$1:$A$10;0)+1) =SMALL(A1:A10,COUNTIF($A$1:$A$10,0)+1)
A KICSI (SMALL) függvény megadja az N-dik legkisebb számot egy tartományban. Első argumentuma a tartomány, második pedig, hogy hányadik legkisebbet szeretném. Ha N=1, akkkor a legkisebbet, azaz a minimumot adja vissza.
Ha vannak nullák a tartományban, akkor nyilván ők lesznek a legkisebbek. Ha egy nulla van, akkor a nullán kívüli legkisebb szám a második legkisebb lesz. Ha négy nullám van, akkor az ötödik legkisebbet keresem, stb…Tehát az annyiadik legkisebbet keresem, ahány nulla van, plusz egy.
A fenti képletben a tartomány adott, a DARABTELI/COUNTIF függvénnyel pedig megszámoljuk a nullák számát, és hozzáadunk egyet. Az ennyiedik legkisebbet keressük.
Adatbázis függvénnyel
Ehhez az adat tartományon kívül szükség van egy feltétel tartományra is. Ezt a példában a C oszlopba tettem
=AB.MIN(A1:A10;1;C1:C2)
Tömbképletek
MIN és HA függvénnyel
=MIN(HA(A1:A10 <>0;A1:A10))
Itt a belső HA függvény a nullák kizárásával létrehoz egy tömböt, aminek a minimumát keressük.
KICSI / SMALL és HA függvénnyel
=KICSI(HA(A1:A10<>0;A1:A10);1)
A nullák nélküli tömb első legkisebb elemét, azaz a minimumát adja vissza
Lássuk élőben!
Ha van benne negatív érték is, akkor:
=KICSI(A1:A10;DARABTELI($A$1:$A$10;”<=0")+1)