Dinamikus diagramok VBA-ismeretek nélkül is!

2015. november 22. - Office Guru

Egy teljesen egyszerű, semmi különlegességet nem hordozó diagram is feldobható Excelben egy-két ötletes megoldással, amelyek nem igényelnek sem VBA-ismereteket, sem túlzott időráfordítást - ezek közül fogok most megmutatni egyet, amit hívhatunk dinamikus diagramnak is, bár valójában csak az IF függvény sokoldalúságát használjuk majd ki.

Adott tehát a következő kis táblánk, amely városonként mutat bevétel, kiadás és prémium értékeket egy cég bolthálózatán belül:

490.jpgAdott a feladat, hogy ebből csinálnunk kell egy diagramot. Mielőtt azonban nekiugranánk, jöjjön egy jó kis javaslat, amellyel dinamizálhatjuk az adattartalmunkat, ami azt jelenti, hogy beépítünk három kis checkboxot, amelyek ki-be kapcsolgatásával változik a diagramunkon kimutatott adatok listája.

Szúrjunk is be a táblánk alá három checkboxot a Ribbonunk Developer füle alatt található Controls szekció Insert parancsával:

491.jpgHa megtettük, formázzuk meg szépen ezt a táblarészt is, hiszen a felhasználó majd ezzel fog találkozni. Valahol itt tartunk most:

492.jpgKövetkező lépésként most azt kell tennünk, hogy mindhárom checkboxot egy cellához linkeljük, olyan cellákhoz, amelyet később el is rejthetünk, hiszen ezekre csak azért van szükség, hogy eltároljuk a TRUE vagy FALSE értéket attól függően, hogy a checkbox be van-e pipálva vagy sem. Tehát kattintsunk jobb gombbal az első checkboxra, majd a Properties menü alól hívjuk elő a box tulajdonságainak listáját:

493.jpg

494.jpgÉrtelemszerűen én már létrehoztam előre három kis cellát a táblámtól jobbra és oda fogom szépen linkelni a checkbox TRUE vagy FALSE értékét - így a LinkedCell tulajdonságom a Bevétel esetén a $K$4 cella lesz, Kiadásnál értelemszerűen a $L$4 és Prémiumnál az $M$4.

Ezután következik nagyjából a legfontosabb lépésünk a történetben, amihez az szükséges, hogy a táblánk mellé, mondjuk a checkboxos segédcellák alá másoljuk be egy az egyben a táblánkat megint, de ezúttal az értékek ne konstans számok legyenek, hanem egy IF függvény határozza meg őket.

Ez pedig nem más, mint:

=IF($K$4,F5, NA())

Azaz ha a checkboxunk be van pipálva, akkor a $K$4 cella TRUE értéket vesz fel, tehát az F5-ös cella értékét írja be, ami maga a Bevétel oszlopunk első értéke az eredeti táblában. Ha az érték nem TRUE hanem FALSE, akkor az NA() függvény lép képbe, ami paraméterek nélkül szimplán egy #N/A-t ír ki minden esetben. Ezzel szépen meg is tudjuk csinálni az első oszlopot:

495.jpgÉrtelemszerűen ugyanezt kell megcsinálni a Kiadás és a Prémium oszlopok esetében is az új táblánkban, csak ott a Kiadás és Prémium segédcellákat kell megvizsgálnunk az IF függvényben:

496.jpgHa végeztünk ezzel, kapcsoljuk ki az Insert módot a Controls szekcióban a Developer tab alatt és hátradőlve nézzük csak meg, mit is intéztünk eddig:

497.jpgLátható, hogy a checkboxunk pipáitól függően új segédtáblánkban #N/A értékeket vagy magukat az eredeti számokat fogjuk látni.

Mi van még hátra? Kb. semmi, most már csak a diagramot kell felépítenünk erre az új segédtáblára (amit persze el is rejtünk, hiszen senkinek nem kell ezt a kis trükköt tudnia). Szóval jelöljük ki segédtáblánkat, majd a Ribbonunk Insert füle alatt lévő Charts szekcióból szúrjunk be mondjuk egy Stacked Columns oszlopdiagramot:

498.jpgKicsit szabjuk formára, csinosítgassuk:

499.jpgÉs innentől kezdve már látszik is az eredményünk, ahogy ki be kapcsolgatjuk a checkboxokat, úgy változik a diagram is maga:

500.jpgAlig pár perces tevékenység volt, mégis mennyivel igényesebb az eredmény!

A bejegyzés trackback címe:

https://officeguru.blog.hu/api/trackback/id/tr208100894

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.