Hétköznap esti rövid ám érdekes animáció Excel segítségével

2015. november 12. - Office Guru

A mai megint egy elég megterhelő nap volt az agysejtjeim számára, így konkrét problémák feszegetése helyett ismét csak szórakozni fogok az Excellel ebben a posztban, ugyanis egy igencsak haszontalan, ám érdekes kis lehetőséget mutatok be, amelynek segítségével úgy készíthetünk animációt a táblázatkezelőnkben, hogy nem nyúlunk VBA-hoz egyáltalán.

Több fogalom tisztázása és egy beállítás is szükséges ahhoz, hogy a mostani példánkat elkészíthessük, első lépésként a körkörös hivatkozás fogalmát tisztázzuk, ami elég egyértelmű és idegesítő üzeneteket szokott időnként generálni - nem másról van szó, minthogy egy formulában a formulát magát tartalmazó cellát hivatkozzuk meg, tehát mondjuk ha az I8 cellába a következőt írjuk be:

=I8+1

420.jpgAki ismeri a körkörös hivatkozás fogalmát, akkor az azt is tudja, hogy lehet ezt megszüntetni: egyrészt a formulánk módosításával, másrészt pedig az iteráció funkció bekapcsolásával, ami lehetővé teszi, hogy körkörös hivatkozás hibaüzenet helyett a művelet sokszoros végrehajtására bírjuk az Excelt.

Ezt az Excel Options Formulas menüje alatt az Enable iterative calculation pipa behelyezésével tudjuk aktiválni, ahol be tudjuk állítani azt is a Maximum Iterations alatt, hogy meddig tartson ez az ismétlődő ciklus:

421.jpgHa ezt a kettőt megcsináltuk, akkor jöhet az animációnk elkészítésének első lépése, mégpedig egy körkörös hivatkozás elkészítése, most már az iteráció beállítása után. Mondjuk a H5-ös cellánkba alapvetően elég lenne ennyit írnunk, hogy elérjük a célunkat:

=IF(H4="GO",H5+0.01,0)

Ami nagyjából azt tenné, hogy ha a H4 cella tartalmazza a GO értéket, akkor hozzáadna H5 értékéhez 0.01-et, majd mivel még mindig ott a GO érték, ezt a ciklust folytatja és a maximális közel 33000 alkalommal meg is ismétli. Ebből következik, hogy ha nem szuperszámítógép mögött ülünk, akkor a fenti formula össze fogja omlasztani az Excelünket, ezért ne is próbáljuk ki.

Bele kell ültetnünk egy felső határt, hogy meddig folytassa ezt a kalkulációt, így most arra gondoltam, hogy elég a harmincas eléréséig, az is elég lesz neki, hiszen ez azt jelenti majd, hogy 0-tól indulva 0.01-es lépésenként fog 30-ig elszáguldani. Ezt hogy oldjuk meg?

Ágyazzunk be még egy IF-et:

=IF(H4="GO",IF(H5>=30,H5,H5+0.01),0)

Azaz ha H4 cellánk tartalmazza a GO értéket, akkor belép a belső IF formulába, tehát GO érték esetén amint a H5-ös cella értéke meghaladja a harmincat, leállítja a ciklust és önmagát, a H5-öt fogja kiírni, ellenkező esetében folytatódik a ciklus és a 0.01-es értékkel való növelés. Ha nem tartalmazza a GO értéket a H4-es cella, akkor egy nullát ír ki a függvény.

422.jpgEz eddig kristálytiszta ügy, szerintem nem okoz senkinek sem gondot a megértése. A következő lépéshez már ismernünk kell az ún. In Cell Chartok fogalmát (biztos van szép magyar neve is, nekem ahhoz még nem volt szerencsém), amikor különböző karakterek segítségével a cellákból tudunk diagramokat varázsolni, általában ehhez a jó karaktereket a Wingdings illetve Webdings betűtípusokból nyerhetjük.

Plusz fontos ismerni a REPT függvényt, amely konkrétan az első paramétereként megadott értéket ismétli a második paramétereként megadott számban, azaz:

=REPT("HELLO",B5)

A HELLO-t fogja B5 cellában megadott számban kiírni nekünk.

Most az I5-ös cellánkat tuningoljuk fel ennek segítségével, méghozzá úgy, hogy állítsuk a cella betűtípusát először Webdingsre:

423.jpgMajd használjuk fel a REPT függvényt:

=REPT("g",H5)

Mit is tesz ez? A "g" karaktert, ami Webdings betűtípusban egy szép kis fekete kocka, a H5 cellában lévő számnak megfelelő alkalommal megismétli, ergó ahogy változni fog az iterációnak megfelelően a H5 értéke, úgy fog gyarapodni a kockák száma is az I5-ös cellában.

Azaz ha beírjuk a H4-be a parancsszóként meghatározott "GO" értéket, azonnal elindul az iteráció és animációs hatással fog növekedni a sávunk az I5-ös cellában, pont ahogy szerettük volna:

424.jpgUgye milyen vicces? Persze az iterációt soha ne felejtsük el kikapcsolni!

A bejegyzés trackback címe:

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

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.