Telefonszámunk: 1-472-0679

Excel 2010

Adatok másolása szűrt táblázatba

Gyakran látom a különböző Excel fórumokon azt a kérdést, hogy hogyan lehet adatokat beilleszteni egy olyan táblázatba, amelynek vannak elrejtett sorai? Ez leginkább szűrés alkalmával fordul elő. Tehát azt szeretnénk, hogy a szűrt táblázat egyik oszlopának egy kijelölt tartományába, egy másik tartományból másolhassunk adatokat.

A forrás és a céltartomány ugyanabban a táblázatban van

Sajnos erre a kérdésre nem is olyan egyszerű a válasz (de legalább van), mert az Excel nem igazán van felkészítve ilyesmi feladatra. Nézzük mi történik akkor, ha megpróbáljuk a szokásos beillesztést (CP=Copy-Paste)

  1. Szűrjük a táblát
  2. Kijelöljük a másolandó tartományt ->Másolás(Ctrl+C) Ezt tehetjük a szokásos módon, vagy a speciális kijelölés->Csak a látható cellák (Visible cells only)
  3. Kijelöljük a céltartományt (lényeges, hogy mérete megegyezzen a forráséval)
  4. Beillesztés (Ctrl+V)

Az eredmény

hiba1

Ugyanezt az üzenetet kapjuk akkor is, ha megpróbáljuk átvontatni a forrástartományt a céltartományra. Ha nem jelöljük előre ki a céltartományt, csak az első celláját, akkor pedig az történik, hogy a beillesztés a nem látható (szűrt) cellákba is megtörténik. ezt pedig semmiképpen nem szeretnénk.

hiba2

A megoldás

Szűrt állapotban a céltartomány celláiból át kell hivatkozni a forrástartomány celláira, majd érték beillesztéssel megszüntetni  a képletet. Ez csak akkor működik biztonságosan, ha ugyanabban a táblázatban van a két tartomány, és így biztosított, hogy közösek az elrejtett sorok.

megoldas

A forrás és céltartomány különböző táblázatban van

Ebben az esetben az sem biztos, hogy a forrás tartomány is szűrt, de ha igen, az valószínűtlen, hogy ugyanazok a sorok lesznek rejtettek, mint a céltartomány esetén. Erre a helyzetre az Excel felület nem kínál megoldást, tehát makrót (VBA kódot) kell készíteni. Ebben első lépésként meg kell vizsgálni, hogy a forrás és a céltartomány látható (nem szűrt) sorainak (és oszlopainak)  száma megegyezik-e, majd soronként másolhatunk úgy, hogy a céltartományban csak a látható sorokba illesztjük a forrás tartomány aktuális látható sorát. A Videóban látható mindez kicsit bővebben.

Következő rész: A makrós megoldás

Letölthető munkafüzet: beillesztes-szurt-tartomanyba

  • Nézzük, hogy lehet adatokat másolni csak a látható cellákba

Tovább...

A VÁLASZT (CHOOSE) függvény

Ez a függvény kevéssé ismert, pedig szerintem nagyobb figyelmet érdemelne. Többszörös „HA” elágazásokat lehet vele sokkal egyszerűben megúszni. Úgy működik, hogy az első argumentumában megadott sorszámot (index) kiértékeli, és a másodiktól az n-edik argumentumok közül az annyiadikat választja.

choose (választ)

Általános használata

=CHOOSE(index; érték1; [érték2]; ...)

Ha az index 1, akkor a VÁLASZT függvény az érték1 argumentumot adja vissza, ha 2, az érték2 argumentumot, és így tovább.

Az első argumentum, ami 1-254 közé eshet, lehet konstans szám, számot visszaadó képlet, vagy cellahivatkozás.

Egyszerű, példa

=CHOOSE(2;"alma";"körte";"barack")

Ez a függvény az érték argumentumok közül a harmadikat, azaz a „barack” szót adja vissza.

Összetettebb példa

A függvényben rejlő igazi erő akkor derül ki, amikor megtudjuk, hogy az érték argumentumok nem csak konstans értékek vagy cellahivatkozások lehetnek, hanem tartományok, sőt, képletek is.

=CHOOSE(2;SUM(A1:A10);AVERAGE(A1:A10);MAX(A1:A10))

Az előző példa az index paraméter függvényében más-más műveletet végez el az A1:A10 tartománnyal.

Ha az index is valamilyen számítás, esetleg feltétel eredménye, akkor igen rugalmasan tudjuk használni összetett elágazások esetén.

További példák és részletek a függvénnyel kapcsolatban

http://office.microsoft.com/hu-hu/excel-help/valaszt-fuggveny-HP010342269.aspx

Tovább...

Képlet dinamikus változtatása legördülő lista alapján – három féle módszer

Gyakran előforduló feladat lehet, hogy feltételtől függően egy cellába változó képletet kellene írni vagy végrehajtani. Különösen igaz lehet ez abban az esetben, amikor a felhasználó állítja be pl. egy legördülő menüben, hogy mi legyen a feltétel, és ennek függvényében próbáljuk a képleteket dinamikusan összeállítani.

A modell

Egy munkalapon adott egy azonosító (ID) oszlop, és mellé egy másik munkalapról ki szeretnénk keresni a hozzá tartozó nevet. Igen ám, de azt, hogy melyik munkalapról kell kikeresni, azt egy legördülő menüből szeretnénk választani. Ez egy klasszikus VLOOKUP (FKERES) feladat, de a keresési tábla a legördülő menü szerint változó.

A modellt úgy állíthatjuk fel, hogy a különböző országokhoz tartozó adatok, amiben keresni akarunk, külön-külön munkalapokon vannak, és a munkalapok neve, megegyezik a legördülő menüből választható nevekkel, a mi példánkban „HU” és „DE”.

Dinamikus_keplet_modell

Tablazat_HU Tablazat_DE

A „HU” és „DE” lapokon az adatokat táblázattá (Listává) érdemes alakítani, hogy név szerint is lehessen hivatkozni a képletekben, és így a méretük sem kell, hogy egyforma legyen.

Megoldás HA (IF) függvénnyel

Legegyszerűbb megoldásként a képlet feltételes megadását választhatjuk, azaz HA a kiválasztott országkód a B11-es cellában van, akkor a C14-be a következő képletet írhatjuk:

=IF($B$11="HU";VLOOKUP(B14;HU!$A$2:$B$5;2;0);IF($B$11="DE";VLOOKUP(B14;DE!$A$2:$B$5;2;0);0))

Látható, hogy egymásba ágyazott IF függvényeket látunk, és a képlet a B11 tartalmától függően, vagy a HU vagy a DE munkalapról keres, ugyanabban a tartományban. Ezután a képletet lehúzhatjuk a többi ID-re is.

Előny

Az IF (HA) függvényt a legtöbben ismerik, tudják használni.

Hátrány

Több országkód esetén meglehetősen hosszú és összetett lehet a képlet. (91 karakter)

Névtartományok használata

Ha a magyar és a német munkalapokon lévő keresési tartományokat dinamikus névtartománnyá alakítjuk, (lásd a fenti ábrán: HU és DE), akkor a képlet jelentősen lerövidülhet. (71 karakter)

=IF($B$11="HU";VLOOKUP(B14;HU;2;0);IF($B$11="DE";VLOOKUP(B14;DE;2;0);0))

Megoldás CHOOSE (VÁLASZT) függvénnyel

A függvényről külön oktatóanyag készült: https://excel-bazis.hu/tutorial/a-valaszt-choose-fuggveny

Azért jön számításba, mert a példa szerint más-más munkalapokról kell keresnünk értékeket. Ha ezeket sorszámmal tudnánk ellátni, akkor máris elkészült egy, az előző (HA) szerkezetnél rövidebb képlet.

A sorszámot egy segédtábla, és VLOOKUP használatával állítjuk elő

Choose-lookup

Tehát a VÁLASZT függvény számára a sorszámot a C24 tartalmazza. Most csak a rövidebb, névtartományokat használó képletet írom le, ami a D27-be kerül. (53 karakter)

=CHOOSE($C$24;VLOOKUP(B27;HU;2;0);VLOOKUP(B27;DE;2;0))

Megoldás INDIRECT (INDIREKT) függvénnyel

Az INDIRECT függvényt leggyakrabban arra használjuk, hogy dinamikusan, szöveges hivatkozásokat képzünk, amiket Ő normál hivatkozásokká tud alakítani.

Nézzünk egy példát:

Egy oszlop utolsó kitöltött cellájának értéke

Itt az adja a kihívást, hogy nem tudjuk, hány sor van kitöltve az adott oszlopban. Viszont ki tudjuk számolni, pl. az „A” oszlopban:

=COUNTA(A:A)

Tehát össze kell állítanunk az „A” oszlop utolsó cellájának a címét, ami ugyebár tuti „A”-val kezdődik, és a sor része meg az előző függvény eredménye. Van nekünk egy remek összefűző jelünk, és már mehet is.

=INDIRECT("A"&COUNTA(A:A))

indirect-demo

Figyelem!

Ez a példa csak akkor helyes, ha az „A” oszlopbna minden sor ki van töltve!

Visszatérve a fenti példához, az INDIRECT függvénnyel azt használjuk ki, hogy az országkód kiválasztása után ugyanolyan képletet kell használni (VLOOKUP), csak a belseje lesz más, mert egyszer a HU, máskor a DE lapon vagy névtartományban kell keresni. ha a „HU” országkódot választottuk, akkor a „HU!A2:B5” tartományban, és „DE” kód esetén pedig a „DE!A2:B5” tartományban. Névtartományok használata esetén pedig a „HU” vagy a „DE” neveket használjuk.

indirect-megoldas

Próbáljuk belefűzni a képletbe dinamikusan a választott országkódot, ami a „B35”-ben van:

=VLOOKUP(B39;INDIRECT($B$35&"!A2:B5");2;0)

Letölthető munkafüzet: Valtozo-adatforras-modellek

Tovább...

Dashboard alapvetés

Mostanában egyre gyakrabban lehet olvasni Excel témakörben is az un. Dashboard-okról. Magyarul „irányítópult„-nak szokták fordítani, ha egyáltalán lefordítják.

Mi az a DASHBOARD?

Sokat gondolkoztam azon, hogy egy mondatos definícióban hogy lehetne megfogalmazni. Végül is meg lehetne, de inkább mégis másként döntöttem. Annyi helyen lehet találkozni a kifejezéssel, és annyiféle szituációban használják (sokszor szerintem tévesen, vagy kissé nagyzolva), hogy inkább megpróbálom több mondatban körülírni.

Adott egy táblázatos adatforrás. Fejléc, adatrekordok, szokásos dolog. Ha a táblázat adataiból összesítő jelentést vagy jelentéseket (képlet vagy PIVOT), illetve grafikont vagy grafikonokat szoktunk készíteni. Ha ezekből valamilyen további szűrési/egyszerűsítési módszerrel kiemeljük a számunkra legfontosabb, un. kulcs információkat, máris kész a Dashboard, ami tulajdonképpen egy állapotjelentés, és döntések segítéséhez használhatjuk.

dashboard

Nézzük egy mondatban:

A Dashboard kulcs információk egyszerű megjelenítése, amit segít a felhasználónak gyorsan, helyes döntéseket hoznia.

Egy Dashboard általában

  • Kis méretű (legjobb, ha egy képernyőre kifér)
  • Informatív, fókuszál a felhasználó számára legfontosann információkra
  • Táblázatos és/vagy grafikus megjelenítésű

Interaktív Dashboard

A felhasználó a fenti ábra szerint az összesítési szempontokat vagy/és a  szűrést interaktív vezérlőkön keresztül beállíthatja, így szabályozva, hogy mit szeretne látni. (legördülő menük, nyomógombok, rádiógombok vagy checkbox-ok, stb.)

A  modell úgy működik, hogy dinamikusan leköveti a felhasználó által végzett szűrési beállításokat. A követést egyszerűbb esetben az Excel által nyújtott lehetőségeken keresztül végzi (Munkalap függvények, Pivot eszközök).

Nagyon hamar elérkezhetünk azonban oda, hogy a Dashboard mögött masszív VBA program működik, és az végzi az összesítés-szűrés-megjelenítés feladatot.

DEMO

A következő video a címével ellentétben, nem mutatja meg, hogy hogyan kell interaktív Dashboard-ot készíteni, de remekül bemutatja, hogy viselkedik működés közben.

Tovább...

Adott érték n-dik előfordulásának keresése egy oszlopban

Találkoztam néhányszor azzal az igénnyel, hogy egy tartományban egy adott értéknek ne csak az első, hanem a második, harmadik, n-dik előfordulást is meg lehessen keresni.

Az Excelnek erre nincs külön fügvénye, és a VLOOKUP (FKERES), illetve a MATCH (HOL.VAN) függvények csak az első előfordulást tudják megkeresni.

Vannak az Interneten segédoszlopot használó, megkerülő megoldások, de egyszer csak ráakadtam egy régebbi bejegyzésre, aminek a tanulmányozása után arra jutottam, hogy ez lesz a helyes megoldás.

Az eredeti cikk egy ősrégi Microsoft tudásbázis bejegyzés, Excel 4.0 és Excel 97 verziókra vonatkoztatva.

Nézzük a megoldást

Az alábbi ábrán látjuk a mintaként használt táblázatot. Tehát a feladat az lenne, hogy az „alma” szó második vagy harmadik előfordulását is meg tudjuk találni, és esetleg kivenni mellőle a hozzá tartozó értéket ugyanabból a sorból.

n-dik-elofordulas-alaptabla

Az ötlet azon alapszik, hogy ha tudnánk képezni egy listát az „alma” szót tartalmazó sorokról (1;4;6), akkor ezek közül a SMALL (KICSI) függvénnyel kiválaszthatnánk az n-dik legkisebbet, ami megadná az n-dik előfordulás munkalap-sorszámát. Jelen példában, ha az {1;4;6} tömb 2-dik legkisebb elemét keresem, akkor egy cellába beírhatom a következő képletet:

=SMALL({1;4;6};2)

Eredményként a 4-et fogom kapni.

Hogy lehet az „almás” sorok tömbjét előállítani?

Természetesen tömbképlettel. Végignézzük az „A1:A6” tartományt, és ha bármelyik eleme egyenlő az  „alma” szóval, akkor kivesszük az aktuális sor számát, különben egy üres sztringet.

Jelöljünk ki 6 egymás alatti cellát (mert 6 elemből áll a példa táblázat), írjuk be a következő képletet, és a végén nyomjuk meg a Ctrl+Shift+ENTER kombinációt!

=IF((A1:A6)<>"alma";"";ROW(A1:A6))

A cellákban a képlet kapcsos zárójelek közé került: {=IF((A1:A6)<>”alma”;””;ROW(A1:A6))} , és a kijelölt cellákban ez lett az eredmény:

sorok-tombje

Tehát megkaptuk a 1;4;6 listát, igaz, hogy közben vannak üres cellák is, de az nem baj. Már csak az van hátra, hogy ebből a listából kiválasszuk a SMALL (KICSI) függvénnyel mondjuk a második legkisebbet, azaz az „alma” szó második előfordulásának  munkalap-sorszámát (4)

=SMALL(IF((A1:A6)<>"alma";"";ROW(A1:A6));2)

A végén látható, hogy a második legkisebbet keressük. Ne felejtsük el ezt is a Ctrl+Shift+Enter-el lezárni.

Amennyiben a táblázat a munkalap első sorában kezdődött, akkor a megtalált munkalap sorszám egyenlő lesz az adott tartományban elfoglalt sorszámmal.

És a mellette levő érték?

Ha valójában az n-dik előfordulás melletti értéket keressük, akkor a sorszám ismeretében az INDEX függvénnyel célt érünk, azaz az egészet beágyazhatjuk egy INDEX függvénybe, ami a „B” oszlopból kiveszi a megkapott sorszámú elemet. Ezt a képletet is természetesen a tömbképleteket megillető Ctrl+Shift+Enter-el kell lezárni.

=INDEX(B1:B6;SMALL(IF((A1:A7)<>"alma";"";ROW(A1:A7));2))

n-dik-elofordulas-eredmeny

És mi van akkor, ha a táblázat nem az első sorban kezdődik?

Akkor egy kicsit matekozni kell a Sorokkal, de azért megoldható. Ha kíváncsi vagy rá, nézd meg a Videó anyagot is!

Ertek-n-dik-elofordulasa

  • Érték n-dik előfordulása

Tovább...

Intervallum tömbök

Ebben az anyagban leírtak megértéséhez hasznos lehet előbb ezt megnézni:

excel-tombok-tombkonstansok

Hogyan válaszolnánk meg Excel segítségével a következő kérdéseket:

  • Két egész szám között hány 3-al osztható szám van?
  • Két dátum között hány hétfő van?
  • Két dátum között hány dátum esik hétvégére

Megoldások

Első

Nézzük az első feladatot. Hagyományos módon ezt úgy csinálnánk, hogy képezzük egy oszlopba a növekvő értékeket, és mellette egy segédoszlopban logikai értékként megadnánk az oszthatóságot, majd feltételes összegzéssel megkapjuk az eredményt. Az ábrán látható, hogy a „B” oszlopban a hárommal való oszthatóságot vizsgáljuk.

oszthatosag-logikai-vizsgalatat

Ezután nincs több dolgunk, mint egy eredménycellába megszámolni a „B” oszlopban lévő TRUE értékek számát.

Mondjuk a „D2”-be írjuk be a képletet:

=COUNTIF(B2:B11;TRUE)

Második

A megoldást egyetlen képlettel is megadhatjuk, ami az egész tartományban vizsgálja az oszthatóságot, a visszakapott TRUE/FALSE értékeket 1-re és 0-ra alakítja, és összeadja az eredményt. Értelemszerűen csak ott lesz 1-es, ahol az érték osztható, és az 1-esek összegzése megadja, hogy hány szám van a tartományban, ami osztható 3-al.

=SUMPRODUCT(--(MOD(A2:A11;3)=0))

Tól-Ig tömbök képzése

Próbáljuk ki a következőket:

Egy cellába írjuk be a következő képletet, de mielőtt lezárnánk, nyomjuk meg az F9 billentyűt :

=SOR(INDIREKT("34:55"))

angol verzióban

=ROW(INDIRECT("34:55"))

A tartalom átváltozik erre

={34;35;36;37;38;39;40;41;42;43;44;45;46;47;48;49;50;51;52;53;54;55}

Tehát ez az összefüggés létrehozza a memóriában a kezdő és végérték közötti számok növekvő halmazát. (Ctrl+Z-vel vagy ESC-el lehet visszatérni.)

Ha a kezdő és a végérték nem konstans, akkor felvehetjük őket egy-egy cellába, és a képlet így alakul

=SOR(INDIREKT(A1 &":" & A2))

Látható, hogy az Indirekt függvénynek egy szövegre (stringre) van szüksége, ezt összefűzéssel állítjuk elő, belecsempészve a kettőspontot, mint a kezdő és a végérték elválasztójelét.

Ugyanez dátumokkal

A dátumokat ugyebár az Excel sorszámként kezeli. Egy egy szomszédos nap között pont egy egész különbség van. Két dátum közötti tömböt az előzőekhez hasonlóan képezhetjük, azaz a kezdő és végdátumot beírjuk két cellába, és az előző képletet beírva, majd F9-et nyomva ezt láthatjuk:

datumszamok-tombje

Tehát a 2013 január 1 és 5 közötti dátumszámok növekvő értékeit.

Mire jó ez az egész?

Ha visszatérünk a fenti feladatokhoz, akkor abban az esetben, ha nem akarjuk vagy nem lehetséges képezni a tömb elemeit külön a munkalapon, akkor ezt a megoldást alkalmazhatjuk a képletekben.

Hány hárommal osztható szám van két szám között (A1 és A2):

=SUMPRODUCT(--(MOD(ROW(INDIRECT(A1&":"&A2));3)=0))

Két dátum között hány hétfő van?

=SUMPRODUCT(--(WEEKDAY(ROW(INDIRECT($A$1 & ":" & $A$2));2)=1))

A WEEKDAY függvény magyar verzióban a HÉT.NAPJA. Azt mondja meg, hogy egy dátum a hét hányadik napjára esik. A képlet végén 1-el hasonlítjuk össze, mert a Hétfő a hét első napja.

Két dátum között hány dátum esik hétvégére

=SUMPRODUCT((WEEKDAY(ROW(INDIRECT($A$18&":"&$A$2));2)=6)+(WEEKDAY(ROW(INDIRECT($A$1&":"&$A$2));2)=7))

A hatodik nap a szombat, a hetedik nap pedig a vasárnap. A kettő közötti plusz jel a logikai VAGY műveletet jelenti.

Letölthető munkafüzet, Video

Ertekek-kozotti-szamolas-row-indirect

  • Növekvő számhalmazok

Tovább...

Excel tömbök, tömbkonstansok

Tömbök fogalma

A tömbök az Excel-ben értékek sorozatát jelentik. Általános felhasználás során nem igazán szoktunk foglalkozni a tömbökkel, hiszen azokat legtöbbször egyszerűen kijelöléssel határozzuk meg.

Ha például egy egyszerű összesítést (SUM /SZUM) alkalmazunk, akkor a fügvényvarázsló argumentum mutatja a kijelölt tartományt, mint tömböt.

Tömb a függvény varázslóban

Egy dimenziós tömbök

Az egy dimenziós tömbök egymás melletti vagy egymás alatti adatsorokat tartalmaznak. Próbáljuk meg a következőt!

  • Egy cellatartományba egymás mellé balról jobbra írjunk be értékeket. (Pl.: B1:K1)
    tomb-tartomany
  • Egy üres cellába írjunk egy egyenlőség jelet, majd jelöljük ki a B1:K1 tartományt (=B1:K1)
  • Nyomjuk meg az F9 billentyűt
  • Az Excel kibontja a kijelölést mint egy dimenziós tömböt

={1.2.3.4.5.6.7.8.9.10}

Próbáljuk ki ugyanezt egymás alatti értékekkel!

={1;2;3;4;5;6;7;8;9;10}

A vízszintes tömbnél az értékeket ponttal („.”) elválasztva látjuk, (oszlop szeparátor), a függőleges tömbnél pedig pontosvesszővel vannak elválasztva. (Sor szeparátor)

Sor és oszlop szeparátorok

A sorokat, illetve az oszlopokat elválasztó karakterek a vezérlő pult nemzetközi beállításaitól függenek. Emiatt a fenti példa különböző nyelvi beállítások esetén más elválasztó karaktereket eredményezhet.

Az elválasztó karakterek ellenőrzése

  • Lépjünk át a VBE felületre (ALT+F11)
  • Hozzuk elő a parancs ablakot (Ctrl+G)
  • Írjuk be a következő parancsokat
    ? Application.International(xlColumnSeparator)
    ? Application.International(xlRowSeparator)

Bővebben az Excel nemzetközi beállításainak vizsgálatáról egy korábbi oktatanyagban lehet olvasni:
Az Excel nemzetközi beállításainak lekérdezése

Két dimenziós tömbök

A két dimenziós tömbök valójában táblázatok, azaz több sort is tartalmaznak.

Töltsünk fel egy tartományt értékekkel, majd a fenti módszerrel jelöljük ki, majd nyomjuk meg az F9-et

ket-dimenzios-tomb

={"A".10;"B".20;"C".30}

Az látható, hogy a sorokat a pontosvessző, az oszlopokat pont jelzi.

Saját tömb konstansok

A képletekben használhatunk a fentiek szerinti tömbkonstansokat. Ezt legegyszerűbben úgy tehetjük, hogy a névkezelőben nevet adunk a tömbkonstansoknak.

  • Egy tartományba írjuk be a tömb elemeit (egy vagy két dimenzió)
  • Egy üres cellába a fentiek szerint bontsuk ki a tömböt, majd másoljuk ki (Ctrl+C)
  • Nyissuk meg a névkezelőt (Ctrl+F3), Hozzunk létre egy új nevet, és hivatkozásként illesszük be a tömböt
    Tombkonstans-nev
  • A forrástartományt kitörölhetjük

Használati példák

A tömbkonstansokat használhatjuk kisebb keresési tartományként azokban az esetekben, ha nem szeretnénk a forrás tartományokat a munkafüzet celláiban tárolni.

Az elnevezett tömbökben lehet bármelyik kereső függvénnyel keresni, és az összes, tartományokon értelmezhető függvényt használhatjuk.

Konkrét példákat a kapcsolódó videóban lehet majd látni.

Tömbök a képletekben

Képletek belsejében gyakran találkozhatunk olyan részekkel, amelyek tömböt eredményeznek, és ezt a tömböt dolgozza fel a képlet külső része.

Példa: mennyi 4 betűs vagy annál rövidebb szöveg van egy oszlopban? (A szavak az M1:M7 tartományban vannak)

=SZORZATÖSSZEG(--(HOSSZ(M1:M7)<=4))

A képlet működését a Videóban mutatjuk be.

Video

  • Tömbkonstansok az Excelben

Tovább...

Rejtett adatok ábrázolása a grafikonokon

Alapbeállításként az Excel grafikon motorja úgy tekinti az éppen nem látható (szűrt vagy rejtett) cellákat, mintha nem is léteznének. Ez lehet haszos, de éppenséggel bosszantó funkció is. Egy egyszerű beállítással megkérhetjük, hogy az elrejtések, szűrések ellenére a teljes adattartományt ábrázolja.

A probléma képekben

Eredeti táblázat és diagram

Grafikon rejtett sorok

A szűrés után csak a látható adatok szerint rajzol diagramot

Diagram szűrt adatok alapján

Beállítás Excel 2007 utáni verziókban

  1. Jelöljük ki a diagramot, majd a DiagramEszközök szalagon válasszuk a Tervezés (Design) lapot.
  2. Ezután kattintsunk a bal oldalon az Adatok kijelölése (Select Data) gombraGrafikon adatok kijelölése
  3. A megjelenő ablak bal alsó sarkában nyomjuk meg a Rejtett és üres cellák (Hidden and Empty Cells) gombot
    Grafikon-rejtett és üres cellák
  4. Végül jelöljük be, hogy mutassa a bennük lévő értékeket a grafikonon.
    Rejtett adatok megjelenítése a diagramon
Tovább...

Üres stringet tartalmazó cellák kijelölése vagy törlése

Ha egy tartományban képlettel számolunk, akkor nem tudunk visszaadni üres cellát. Leggyakrabban nullát, vagy üres stringet adunk vissza, amit az Excel másképp kezel bizonyos esetekben, mint az üres cellát.

A példában, ha az A1-ben nulla van, akkor üres stringet, különben 1-et adunk vissza:

=IF(A1=0,"",1)

Tegyük fel, hogy ez a képlet sok soron keresztül megy, és a végén grafikont kell belőle rajzolni. A problémát az okozza, hoyg az Excel grafikon motorja csak a valóban üres cellákat tekinti annak, és azokat nem rajzolja ki  a diagramra, de az üres stringet nullának tekinti, és kirajzolja.

Egyik megoldás az lehet, hogy a módosítjuk a képletet, és az üres string helyett hibát adunk, amit szintén figyelmen kívül hagy a grafikon.

=IF(A1=0,NA(),1)

Az NA() függvény a #N/A eredményt adja. Magyar megfelelője a HIÁNYZIK() függvény.

Másik lehetőség, hogy kijelöljük az oszlopot, sé egy kis makróval töröljük az összes üres stringet tartalmazó cella tartalmát.

Üres stringeket tartalmazó cellák kiürítése VBA kóddal

[vb]

‘A kijeloles cellái közül törli a tartalmat, ha üres stringet talál benne
Sub delete_empty_strings()
Dim u As Range
Dim cur As Range

For Each cur In Selection.Cells
If cur.Value = "" Then cur.ClearContents
Next

End Sub
[/vb]

Tovább...

Adott értéket tartalmazó sorok törlése

Ha egy táblázatban különböző oszlopokban többször is előforduló értéket keresünk, és az adott sorokat törölni szeretnénk akkor a következő, egyszerű eljárást használhatjuk:

  • Jelöljük ki a táblázatot vagy tartományt (Ctrl+A)
  • Keressük meg az adott érték (Ctrl+F), és a keresési párbeszédben gyűjtsük ki az összes találatot (Find All / Listába mind)
  • Zárjuk be a párbeszédablakot. A megtalált értékek kijelölve maradnak.
  • Ctrl + – (kötőjel vagy mínusz jel), ez előhozza a cella törlése párbeszédet
  • Egész sorok törlése
    Teljes-sor-torles

Ha adattáblává alakítjuk a tartományunkat, akkor a „Ctrl + -” parancs azonnal teljes sorokat töröl!

Ezt a módszert akkor is alkalmazhatjuk, ha a keresett cellában speciális érték van, pl. hibaüzenet, vagy képlet, esetleg feltételes formázás vagy beviteli szabály. De ugyanígy törölhetjük az üres cellákat tartalmazó sorokat is.

Ha csak egy oszlopban kellene keresnünk, akkor az autoszűrővel leszűrve és a kapott sorokat törölve is célt érhetünk, bár ez a módszer ebben az esetben is gyorsabb, illetve a keresés funkció miatt kicsit rugalmasabb, mivel nem csak pontos egyezésre tudunk keresni.

Ha pedig a keresendő cellák különböző oszlopokban is előfordulhatnak, akkor mindenképpen ez a nyerő.

A Video-ban mindez működés közben is látható

  • Sorok törlése cellatartalom szerint

Tovább...