Am primit o cerere din partea unei colege de a prezenta o descoperire recenta de a mea: graficele dinamice. Un grafic dinamic este un grafic care se actualizeaza singur in urma adaugarii in tabelul initial de noi date. Eu am folosit acest grafic intr-un raport in care, in urma selectarii unei luni primeam lista de clienti din perioada respectiva, care era dinamica.
Pentru exemplul de azi am ales sa folosesc un tabel in care avem doua coloane: Luna si Vanzari.In tabelul initial avem informatii doar pana la luna mai, dar in timp vor aparea si alte date pe care dorim sa le integram automat in grafic. Pentru acest lucru ne vom folosi de listele dinamice (Dynamic Named Ranges), pe care le-am prezentat intr-un post anterior.
Configurarea fisierului
Incepem prin definirea listei pentru luni urmand urmatorii pasi:
- Alegem in bara de meniu Formulas (Office 2007 si 2010) si Define Name.
- Denumim lista (campul Name) in exemplul meu am denumit-o Lista_luni
- In casuta Refers to folosim o formula bazate pe functia Offset care defineste dimensiunea unei liste, bazandu-se pe numarul de randuri dintr-o anumita coloana: =OFFSET($A$3,0,0,COUNTA($A$3:$A$100),1) Argumentele folosite in functia offset sunt:
- Reference cell: $A$3 reprezinta celula de unde incepe lista (fara titlu);
- Rows to offset: randul de unde sa inceapa lista. In cazul nostru este 0 pentru ca vrem toata lista;
- Columns to offset: coloana de unde sa inceapa lista. In cazul nostru este 0 pentru ca vrem lista de pe aceeasi coloana;
- Height: numarul de randuri pe care sa il aibe lista. In cazul nostru folosim functia counta pentru a afla cate randuri scrise are lista noastra. Pentru a nu ingreuna fisierul este bine ca aici sa nu selectam toata coloana care contine coloana dorita ci sa selectam o zona mai mare pe care o consideram suficienta pentru noi.
- Width: numarul de coloane pe care sa il aibe lista. In cazul nostru vrem o lista cu o singura coloana.
- Apasa OK.
Acum trecem la definirea listei pentru vanzari urmand urmatorii pasi:
- Alegem in bara de meniu Formulas (Office 2007 si 2010) si Define Name.
- Denumim lista (campul Name) in exemplul meu am denumit-o Lista_luni
- In casuta Refers to folosim o formula bazate pe functia Offset care defineste dimensiunea unei liste, bazandu-se pe numarul de randuri dintr-o anumita coloana: =OFFSET($B$3,0,0,COUNTA($B$3:$B$100),1) Argumentele folosite in functia offset sunt:
- Reference cell: $B$3 reprezinta celula de unde incepe lista (fara titlu);
- Rows to offset: randul de unde sa inceapa lista. In cazul nostru este 0 pentru ca vrem toata lista;
- Columns to offset: coloana de unde sa inceapa lista. In cazul nostru este 0 pentru ca vrem lista de pe aceeasi coloana;
- Height: numarul de randuri pe care sa il aibe lista. In cazul nostru folosim functia counta pentru a afla cate randuri scrise are lista noastra.
- Width: numarul de coloane pe care sa il aibe lista. In cazul nostru vrem o lista cu o singura coloana.
- Apasa OK.
Dynamic Range Chart
Trecem la crearea graficului dinamic. Primul pas este sa cream pe baza tabelului un grafic normal. Selectam tabelul nostru cu tot cu titlu, apoi alegem din bara de meniu Insert si apoi din zona Charts alegem tipul de tabel care il dorim. Astfel se va genera graficul dar daca adaugam date in tabel ele nu vor fi continute de acest tabel. Pentru ca graficul sa devina unul dinamic trebuie sa urmam urmatorii pasi:
- Selectam graficul si facem click dreapta pe el. Din lista de optiuni aparuta alegem Select data.
- In fereastra aparuta la Legend Entries apasam Edit.
- Va aparea o fereastra care contine Series name si Series values. Pe noi ne intereseaza Series value si stergem totul in afara de numele sheetului si semnul exclamarii. In cazul nostru Sheet1. Dupa numele sheetului si semnul exclamarii scriem numele listei dinamice pe care am creat-o pentru valorile graficului, in cazul nostru Lista_vanzari.
- Apasam Ok.
Apoi repetam pasii de mai sus si pentru Axis Labels din fereastra aparuta cand alegem Select data, cu mentiunea ca aici scriem lista definita pentru titlurile de pe axa X, care la noi este Lista_luni.
Salvam modificarile facute in Select data apasand Ok. Pentru a fi siguri ca graficul a devenit dinamic il testam prin adaugarea de noi informatii in el.
Daca graficul nu se actualizeaza dupa ce introduceti informatii noi in tabel ar trebui sa verificati daca ati definit corect listele pentru grafic.
Pentru a intelege mai usor cum se creaza grafic dinamic puteti downloada fisierul cu exemplul de la urmatoarea link: DynamicChart.xls.
De asemenea as dori sa va impartasesc ca eu am reusit sa realizez un grafic dinamic de abia dupa ce am urmarit tutorial video de mai jos: