Telefonszámunk: 1-472-0679

Ismétlődések eltávolítása EGYEDI függvénnyel

2020-12-29 - horvimi - Kategória: Függvények
Hivatkozott Excel verzio: Office365

2020-ban széleskörűen elérhetővé vált az Office 365 előfizetők számára az utóbbi évek egyik legizgalmasabb fejlesztése, a vadonatúj kalkulációs motor. Teljesen újraértelmezték a tömbképletek kiértékelését és használatát, és egyben több, dinamikus tömbfüggvény is megjelent. Erről írtam egy áttekintő cikket, és most az új függvények közül a dinamikus, ismétlődések eltávolítására készült EGYEDI (UNIQUE) függvényt mutatom be.

Az EGYEDI függvény működés közben

A sok magyarázkodás helyett készítettem egy amin GIF-et, ahol nagyjából látszódik, hogy miről is van szó. A függvény egy megadott tartományból kiveszi a legalább egyszer előforduló tételeket, azaz másképp fogalmazva megszünteti az ismétlődéseket.

Egyedi_fuggveny_bemutatas

Ezt korábban csak statikus módszerekkel lehetett megcsinálni, és kvázi dinamikussá csak makróval tehettük

EGYEDI függvény használata

EGYEDI(Tömb, [oszloprendezés], [csak az egyediek])
  • Tömb: Az egyetlen kötelező argumentum az  a tartomány (tömb), amiből ki kell válogatni az egyedi tételeket.
  • oszloprendezés: HAMIS vagy 0 vagy elhagyjuk, akkor sorokra működik, az eredmények egymás alatt lesznek, IGAZ vagy 1, akkor oszlopokra (vízszintesen) működik, az eredmények egymás mellet lesznek
  • csak az egyediek: HAMIS vagy 0 vagy elhagyjuk, akkor az eltérő tételeket listázza, IGAZ vagy 1-es, akkor csak az egyszer előfordulókat listázza
    Ha ilyen nincs, akkor a #SZÁMÍTÁS! hiba lesz

Eltérő vs Egyedi

Az utolsó argumentummal szabályozhatjuk, hogy az eltérők vagy az egyediek listáját kapjuk-e meg.

Érdekes különbségtétel, de meglehetősen fontos is lehet. Az eltérő (Distinct) tételek azok, amik legalább egyszer szerepelnek a megadott tartományban. Ez a klasszikus ismétlődések eltávolítása funkció.

Az egyedi (Unique) értékek azok, amik csak egyszer szerepelnek a listában. Erre eddig nem volt natív Excel megoldás.

Tömbfüggvény, tömb eredménnyel

Ahogy a fent hivatkozott bevezető cikkben írtam, az új kalkulációs motor automatikusan kezeli a tömbképleteket, nem kell Ctrl-Shift-Enter-t használni, és nem is kell kijelölni előre több cellát, ha több kimenete is lenne a műveletnek. Egy sima ENTER, és ha több kimenet van, azok szépen kitöltődnek egymás alá vagy egymás mellé. Itt vannak például a bal oldali listában lévő települések listájából kibontva az eltérő és az egyedi tételek:

Eltérő és egyedi

Dinamikus!?

Ez azt jelenti, hogy ha változtatunk a forrás tartomány tartalmán, és kerülnek bele új, egyedi tételek, az eredménylista  is megváltozik. Ha új tételt szúrunk be a forrásba, és az új eltérőnek vagy egyedinek is számít, akkor az eredménylista automatikusan eggyel hosszabb lesz.

Ha  a forrás tartomány végére írunk új tételt, azt nem fogja automatikusan figyelembe venni, hacsak nem dinamikus névtartományként vagy táblázatként adjuk meg a forrást.

Ha a forrás tartományunk mérete dinamikusan változik, akkor érdemes azt táblázattá alakítani, és az EGYEDI (és a többi függvénynek is) a táblázat nevét megadni, hogy az esetlegesen hozzáadott újabb sorokat automatikusan belefoglalja a bemenetbe, és így a kimenetbe is.

EGYEDI(Teljes tábla/oszlop fejléc nélkül)

Használat Oszlop irányban (vízszintesen)

Ha a forrás tartomány vízszintes, és az egyedi listát is vízszintesen szeretnénk, akkor a második argumentumot kell 1-re vagy IGAZ-ra (TRUE) állítani:

Egyedi lista vízszintesen

Vízszintes listát kibontani függőlegesen vagy fordítva

A megoldás az, hogy az EGYEDI függvényt be kell ágyazni a TRANSZPONÁLÁS (TRANSPOSE) függvénybe

=TRANSZPONÁLÁS(EGYEDI(A7:K7;1))

Egyedi tételek helyett egyedi sorok

Ha több oszlopos tartományból szeretnénk kivenni az egyedi sorokat, akkor az EGYEDI függvénynek bemenetként megadhatjuk az egész tartományt. Csak egybefüggő tartomány adható meg!

Egyedi rekordok

Egyedi lista sorba rendezése

Az eredménytömb utólag a hagyományos rendező parancsokkal nem módosítható! Ha megpróbáljuk, hibaüzenetet kapunk!
Tömb nem módosítható

A rendezést egy másik, új függvénnyel lehet megtenni, azaz az EGYEDI fügvényt bele kell ágyazni a SORBA.RENDEZ (SORT) függvénybe.

SORBA.RENDEZ( Tömb)

Egyedi lista rendezése

Végül lássuk mindezt videón

Vélemény, hozzászólás?