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:
Adott 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:
Ha 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:
Kö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:
É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:
É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:
Ha 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:
Lá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:
Kicsit szabjuk formára, csinosítgassuk:
É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:
Alig pár perces tevékenység volt, mégis mennyivel igényesebb az eredmény!