Ez az opció az előbbi (auto)szűrő gomb mellett érhető el, és speciális névre hallgat, tehát a "speciális szűrés" és az "irányított szűrés" kifejezések ugyanazt jelentik. Voltaképp ugyanarra való, mint az előbbi autoszűrő, de egy kicsit más elven működik, és sokkal több mindenre ad lehetőséget. Ugyanakkor ez sem adatkövető, tehát az adatok módosítása esetén újból el kell végezni a szűrést.
Lehetőség van az adatokat oly módon szűrni, hogy a program a kiválogatott sorokat egy külön, általunk megadott helyre másolja, meghagyva így a táblázatot az eredeti állapotában is. Választhatunk helyben szűrést is, ekkor hasonlóan működik, mint az autószűrő: bizonyos sorokat elrejt.
Mielőtt továbbmennénk, egy kis logikai gyorstalpaló: a táblázatban a főbb logikai műveletek és jelöléseik találhatóak, precedenciasorrendjükkel.
| A művelet neve | Jelentése | Jelölése |
---|---|---|---|
1. | negáció (not) | tagadás ("nem") | ¬ |
2. | konjunkció (and) | és | ∧, itt: ÉS |
3. | diszjunkció (or) | vagy | ∨, itt: VAGY |
3. | antivalencia (xor) | kizáró vagy ("vagy ez, vagy az") | ⊕, itt: XOR |
4. | implikáció | következtetés ("ha... akkor...") | ⇒ |
4. | ekvivalencia | egyenlőség ("akkor és csak akkor") | ⇔ |
A szűrés feltételeinek megadása egy fejléccel ellátott táblázatban történik, melyet hivatalosan a szűrőtartománynak nevezünk. Az egy sorban szereplő feltételeket az ÉS, a sorokat pedig a VAGY logikai művelet kapcsolja össze.
A 18. és 19. példában olyan esettel fogunk találkozni, amikor a feltételek a következő formában helyezkednek el:
a ÉS b ÉS c ÉS... VAGY
d ÉS e ÉS... VAGY
...,
ahol a, b, ... oszlopokra vonatkozó feltételek, beleértve ebbe azt az esetet is, hogy egy soron belül esetleg ugyanarra az oszlopra mondtunk ki több feltételt. Ekkor a szűrőtartomány oszlopcímei az eredeti táblázat oszlopcímei közül kerülnek ki.
A 20. példában már olyan feltétel szerepel, mely több oszlop viszonyáról szól. Az ilyen esetekben nem tudjuk a feltételeket az előbbi formában megadni.
Az irányított szűrő szűrőtartományának megadása ugyanúgy történik, mint egy adatbázisfüggvény kritériumtáblázatáé. Éppen ezért szokás mindkettőt kritériumtáblának, kritériumtartománynak, szűrőtartománynak vagy kritériumtáblázatnak is nevezni.
18. példa: Karácsonyi ajándékok, egyszerű szűrés
A feladatban az OKTV 2009-2010 1. forduló ajandek.xls nevű forrásfájlában fogunk dolgozni. Adott egy táblázat, melyben arról láthatunk adatokat, hogy milyen ajándékokból mennyit gyűjtöttek az egyes szereplők.
Szűrjük helyben azokat a sorokat, melyekre igazak a következőek!
Van egy feltételünk az Iskola oszlopra és egy a Külföld oszlopra. A kettő közti "de" szócska természetesen ÉS kapcsolatot jelent. Első feladatunk a két feltétel matematizálása:
Ezeket tehát egy kritériumtartományban kell megadni, a következőképpen:
Iskola | Külföld |
>0 | <=100 |
Nincs más hátra, mint elvégezni a szűrést: Adatok/ Rendezés és szűrés/ Speciális gomb. A listatartományt - vagyis az adatbázist, ahol a szűrést végezni kívánjuk - jó eséllyel automatikusan kijelöli a program. Szűrőtartománynak jelöljük ki az imént készített négy cellát, majd hajtsuk végre a szűrést!
Mivel a helyben szűrést végeztünk (ez az alapértelmezett beállítás), látható, hogy azok a sorok, melyek nem voltak megfelelőek, el lettek rejtve. Ez az elrejtés ugyanúgy működik, mint a hagyományos, egy kivétellel: az elrejtett sorokat csak a szűrők törlése paranccsal fedhetjük fel.
Nem volt indokolt az irányított szűrő használata, hiszen a szűrést autoszűrővel is elvégezhettük volna, talán még gyorsabban is. A következő két példában a kért szűrés viszont már csak irányított szűrővel hajtható végre.
19. példa: OKTV 2009-2010 1. forduló, 5/E (Karácsonyi ajándékok)
A táblázatban egy karácsonyi adománygyűjtés adatai találhatók (ugyanaz, mint az előző példában).
Azokat a sorokat kell kigyűjteni, melyekre az alábbi két feltétel valamelyike teljesül:
Fontos, hogy a feladatot helyesen értelmezzük. Ebben a feladatban például helytelen megoldás lenne, ha két feltételt VAGY helyett XOR művelettel értelmeznénk.
Tehát a feltételek megadása (akárcsak az adatbázis-függvények esetén) kritériumtáblával történik. Segítségünkre van, hogy a feladat szövege két pontba van szedve. Ezeket a pontokat VAGY köti össze, tehát a szűrőtartomány egy-egy sorába írhatóak.
Persze be is lehetne gépelni, de a másolás sokkal biztonságosabb. Könnyen előfordulhat ugyanis, hogy valamit elgépelünk, vagy például nem veszünk észre egy szöveg végén lévő felesleges szóközt. Ekkor az Excel nem veszi figyelembe az adott oszlopra írt feltételeket, és így a szűrés hibás eredményt adhat.
Az első sorba az első feltétel került: "0" és ">0". Utóbbit szokás így is megadni: =">0", de elég az egyszerűbb képlet is.
A második feltételt már nem lehet egy sorban megjeleníteni, hiszen egy szám kétféleképp lehet nem kétjegyű: ha tíznél kisebb vagy ha kilencvenkilencnél nagyobb. Az iskolára vonatkozó feltétel mindkét esetben megmarad!
Ennek a ténynek az elfelejtése típushibának számít. Mindig gondoljuk át alaposan, hogy mi mindennek kell egyszerre teljesülnie!
Ahogy a képen is látszik, én úgy adtam meg azt, hogy hova másolja a megfelelő sorokat, hogy A35-től kezdődően kijelöltem annyi üres cellát, mint amennyi az eredeti táblázat szélessége. Elég azonban csak az A35-re kattintani, mert akkor is ugyanez lesz az eredmény.
Ezzel a feladat készen van: az eredeti táblázat érintetlen maradt, a feltételeknek megfelelő sorokból pedig készült egy új táblázat. Mellette a kritériumtábla, mely a későbbiekben is segít áttekinteni, pontosan milyen szűrés eredménye került oda.
20. példa: OKTV 2009-2010 1. forduló, 5/F (Karácsonyi ajándékok)
Az előbbi feladat újabb szűréssel folytatódik:
Most egy olyan feltételt kaptunk, ami több oszlop viszonyáról szól. Eddigi módszereink nincsenek segítségünkre, de szerencsére lehetőség van ilyesfajta feltételek megadására is. Csakúgy, mint eddig, a feltételeket kritériumtáblával fogjuk megadni, de abban most egyetlen logikai vizsgálat lesz. Ez minden sorra IGAZ vagy HAMIS értéket fog eredményül adni. A képletet mindig a szűrendő táblázat első sorára kell megfogalmazni, de csak úgy, mint amikor képletmásolásnál relatív hivatkozást adunk meg, ez minden sorra mást fog majd jelenteni.
Habár a szűrőtartományban most nem kell az eredeti táblázat egyetlen fejléce se, I50-et akkor is ki kell majd jelölnünk a szűréskor. Érdemes ezért valamit beleírni, például azt, hogy "Feltétel". Egyébként csak az a fontos, hogy ki legyen jelölve a kritériumtábla fejléce is, és hogy az ne az eredeti táblázat egyik fejlécével megegyező névre hallgasson.
A kép (nagyobb változata) külön ablakban is megtekinthető.43_full.jpg43. ábra: Az irányított szűrés ablaka. | A kép (nagyobb változata) külön ablakban is megtekinthető.44_full.jpg44. ábra: A szűrőtartomány és az I51-es cella tartalma. |
Most csak egy cellát adtam meg a hova másolja mezőben: így is ugyanaz történik, mint az előbbi példában.
Ha azt kéri a feladat, hogy csak bizonyos oszlopokat jelenítsünk meg, netán az eredetitől eltérő sorrendben, akkor az előbbi megoldás pontveszteséggel jár. Lehetőség van ugyanis arra, hogy előre megadjuk a megjelenítendő oszlopokat, tetszőleges sorrendben. Ehhez csupán a megfelelő oszlopfejléceket kell a kívánt sorrendben bemásolni - jelen esetben A50-től - és aztán ezeket a fejléceket megadni a hova másolja mezőben.
A 19. példát is megoldhattuk volna ezzel a módszerrel, például így:
Így azonban kevésbé lenne átlátható, mi volt a szűrés feltétele.
Készült az "Országos koordinációval a pedagógusképzés megújításáért” című TÁMOP-4.1.2.B.2-13/1-2013-0007 pályázat keretében. |
A tananyag az ELTESCORM keretrendszerrel készült