Dynamiczny wykres pokazujący tylko wybrany fragment danych

by Marcin

Dynamiczny wykres pokazujący tylko wybrany fragment danych
W jednej kolumnie mamy listę z kolejnymi miesiącami (z kilku lat), w kolumnie obok poziom zysku odpowiadający każdemu z miesięcy. Powiedzmy, że jest to 40 wierszy (liczba ta oczywiście zwiększa się każdego miesiąca).

Problem.

Moje przykładowe dane wyglądają tak, jak na rysunku poniżej.

Dynamiczny wykres pokazujący tylko wybrany fragment danych

Jeżeli zrobiłbyś teraz wykres, wykorzystując wszystkie dane, będzie on wyglądał mniej więcej tak, jak na rysunku poniżej.

Dynamiczny wykres pokazujący tylko wybrany fragment danych

Dużo tego i zaczyna się robić nieczytelnie. Poza tym, z miesiąca na miesiąc, wykres będzie się coraz bardziej zagęszczał. Musi być lepszy sposób.

Przywracamy przejrzystość.

Bardzo miłą funkcjonalnością byłaby możliwość „przewijania” wykresu tak, aby widoczne były dane tylko z kilku miesięcy. Na rysunku poniżej zobaczyć możesz efekt docelowy. Widoczny nad wykresem pasek przewijania umożliwia „przesuwanie” się po miesiącach.

Dynamiczny wykres pokazujący tylko wybrany fragment danych

Jak to zrobić ?

Sprawa, wbrew pozorom, jest całkiem prosta. Wszystko, czego potrzebujesz, to zrozumienie i wykorzystanie funkcji PRZESUNIĘCIE. Przy jej pomocy zdefiniujesz niewielki zakres, który będzie swego rodzaju „oknem”, przez które będziesz mógł oglądać (na wykresie) tylko fragment zasłoniętej, większej, całości.

Do roboty.

Pierwsza rzecz, którą musisz zrobić to zdefiniowanie dwóch dynamicznych zakresów, które będą mogły przesuwać się po wszystkich danych. Twój wykres, jako serie, pobierał będzie dane właśnie z tych zakresów, a nie z całej tabeli z danymi.

Nazwa: Miesiace
Odwołuje się do:

=PRZESUNIĘCIE(www.Excelblog.pl!$B$11;Przesuniecie;0;10;1)

Dynamiczny wykres pokazujący tylko wybrany fragment danych

Nazwa: Zysk
Odwołuje się do:

=PRZESUNIĘCIE(www.Excelblog.pl!$C$11;Przesuniecie;0;10;1)

Dynamiczny wykres pokazujący tylko wybrany fragment danych

Przesunięciem zakresu, względem początku tabeli z danymi, będziesz sterował przy pomocy komórki pomocniczej, której nadamy nazwę „Przesunięcie”. W moim przykładzie komórka sterująca to $C$7.

Każda zmiana wartości w tej komórce spowoduje, że formuły będą odwoływać się do innego zakresu, przesuniętego względem początku tabeli z danymi. Jak zapewne zauważyłeś, nazwa ta wykorzystywana jest już w powyższych formułach. Zwróć także uwagę na pojawiającą się w nich liczbę 10. Określa ona pionowy wymiar zakresu, a więc określa ile miesięcy chcesz jednocześnie pokazać na wykresie.

Kolejny krok to odpowiednie zdefiniowanie serii. Użyjemy zdefiniowanych właśnie nazw. „Zysk” dla wartości oraz „Miesiące” dla osi kategorii.

Dynamiczny wykres pokazujący tylko wybrany fragment danych

Po tej zmianie Twój wykres powinien pokazywać już tylko 10 słupków.

Ostatni krok to wykorzystanie paska przewijania do zmiany wartości w komórce C7. Wszystko co musisz zrobić to wstawienie odpowiedniego formantu i ustawienie właściwości.

Dynamiczny wykres pokazujący tylko wybrany fragment danych

Na sam koniec pozostaje tylko umiejscowienie paska przewijania przy górnej krawędzi wykresu oraz (dla wygody) połączenie go w grupę z wykresem.

Tyle na dzisiaj. Jak zwykle mam zachęcam do komentowania.

Marcin

Download

{ 16 comments… read them below or add one }

Paweł

Świetny pomysł!
Szkoda, że nie chce zadziałać w Calcu 🙁

Rafał

Post prawie na moje następne kolokwium z „Symulacji Komputerowych”. Szkoda że mało szczegółowo omówiłeś temat funkcji „przesunięcie”. Nadal jest mi ciężko zrobić niestandardowe zadania z dynamicznymi wykresami.

Marcin

Cześć,

>Szkoda że mało szczegółowo omówiłeś temat funkcji “przesunięcie”

Założyłem, że trochę można wyczytać chociażby w pomocy Excela 🙂 Nie chcę też wszystkiego „podawać na talerzu”. Nie taki jest cel mojego pisania.

>Nadal jest mi ciężko zrobić niestandardowe zadania z dynamicznymi wykresami.

Mówią, że trening czyni mistrza – pewnie maja rację. Polecam próbować. W przypadku poważniejszych wątpliwości zawsze możesz zapytać.

Marcin

waliano

Działa rewelacyjnie.

Mam tylko jedno pytanie. Jak można zdokować (ustalić stałą pozycję) paska przewijania w przypadku wykresu w formie arkusza. Wstawienie paska przewijanie w pole wykresu powoduje, że po każdym zamknięciu i otwarciu pliku znajduje się on w innej pozycji. Może poprzez VBA?

Pozdrawiam

mumin

Suuuuuuuuuuper – naprawde swietny przyklad 🙂

ef

Rewelacja! brawo 🙂

Aga

Podoba mi się Twoj blog, cieszę się że przypadkiem na niego trafiłam….Google miało nosa :PP

Matt

Mam prośbe mógłbyś pokazac jak zrobic symulacje prawa ohma w excelu?

symek

Tego szukałem. Czasami brakuje konceptu…

Bartek Michalunio

Zgadzam się z użytkownikiem symek.
Na szczęście czasami potrafimy poszukać pomocy ‚na zewnątrz’.
Szukałem możliwości zrobienia wykresu, który w miarę powiększania się zbioru danych, automatycznie będzie ‚wydłużał’ serie, tak aby pokazywać całą historię.
Wystarczy przeczytać składnię funkcji aby dojść do wniosku, że żeby to osiągnąć, wystarczy zmodyfikować nazwy zakresów, np. tak:
Miesiące
=PRZESUNIĘCIE(www.Excelblog.pl!$B$1;Przesuniecie;0;ILE.LICZB(www.Excelblog.pl!$B:$B);1)
Zysk
=PRZESUNIĘCIE(www.Excelblog.pl!$C$1;Przesuniecie;0;ILE.LICZB(www.Excelblog.pl!$C:$C);1)
To spowoduje, że wykres będzie się aktualizował, gdy tylko dodamy kolejny wiersz danych.

Dzięki za pomoc w rozwiązaniu zagadnienia!
Pozdrawiam,
BM

Paweł

Rewelacja. Naprawdę przydatne jeżeli tworzy się cykliczne prezentacje na podstawie tego samego wykresu.

raoulduke

albo trzymać dane w tabeli…

Bartek

Świetne!
Dzięki za inspirację.

Oczywiście zarówno to jak i animowany bubble chart można zrobić na Google Drive, ale jednak co Excel to Excel. Dzięki!

Rods

Cześć, a jak zrobić, by skala (wartość) na osi x była taka jak na początku czyli u Ciebie od 1/2005 do 4/2006. Chciałbym uzyskać efekt, że słupki danych „przesuwają” się po wykresie.

Ryszard

Rewelacja
..wszystko działa jak należy
Dzięki

Mila

„Wszystko co musisz zrobić to wstawienie odpowiedniego formantu i ustawienie właściwości.”
Marcinie, jak powiązać formant z wykresem?

Leave a Comment

Previous post:

Next post: