Du willst ein Diagramm erstellen, das bestimmte Daten aus dem Zeitraum der letzten 12 Monate wiedergibt. Idealerweise wollen wir es so aufbauen dass wir das Diagramm nicht 12 mal im Jahr anpassen müssen nur weil wieder ein Monat hinzugekommen ist.
Wie können wir also die Datenquelle des Diagramms dynamisch machen damit sie fliessen wie der Verkehr im Bild?
Im folgenden Beispiel zeige ich wie wir ein Diagramm durch dynamische Verweise automatisch aktualisieren.
Unsere Beispiel Daten
Hier die Werte für unser Beispiel:
Beim Erstellen eines normalen Diagrammes würden wir jetzt einfach auf den Diagrammerstellungs-Assistenten klicken oder direkt auf das gewünschte Diagramm im Menüband. Um ein dynamisches Diagramm zu erstellen müssen wir aber ein wenig Vorarbeit leisten.
Wer das Beispiel selber in Excel anschauen möchte kann dies mit dieser Datei tun:
Dynamische Bereiche erstellen im Namensmanager
Die Erstellung eines dynamischen Diagramms beginnt mit der Festlegung dynamischer Bezugsnamen. Das lässt sich sehr effizient über den Namens-Manager bewerkstelligen. Nutzen Sie die Tastenkombination Strg + F3, alternativ finden Sie den Namens-Manager unter der Registerkarte Formeln in der Gruppe Definierte Namen. Klicken Sie auf Neu, um einen neuen Namen anzulegen. Eine weitere Alternative um schnell benannte Bereiche zu erstellen habe ich auf in diesem Beitrag schon erklärt.
Im folgenden Dialog tragen wir im Feld Name den Wert DiagLänge ein. Das Feld soll sich auf den Wert in =Tabelle1!$D$2 beziehen. Dieses Feld wird sich auf die Länge der Datenreihe für das Diagramm beziehen (die Anzahl der Monate in D2).
Als nächstes legen wir den zweiten Namen an: DiagGruppen. In das Feld Bezieht sich auf tragen wir die folgende Formel ein:
=BEREICH.VERSCHIEBEN(Tabelle1!$A$1;ANZAHL2(Tabelle1!$A:$A)-1;0;-MIN(DiagLänge; ANZAHL2(Tabelle1!$A:$A)-1);1)
Diese Formel definiert den Bereich in Spalte A, der die letzten 12 Monate (oder Datengruppen) enthält. Wenn Ihr die Funktionen BEREICH.VERSCHIEBEN noch nicht kennt könnt Ihr in diesem Beitrag darüber nachlesen.
Legen wir jetzt den Namen DiagWertA an und übertragen die folgende Formel in das Feld Bezieht sich auf: =BEREICH.VERSCHIEBEN(DiagGruppen;0;1).
Der nächste Name lautet DiagWertB und der Bezieht sich auf erhält die Formel: =BEREICH.VERSCHIEBEN(DiagGruppen;0;2). Diese beiden Namen stellen den Bezug zu den Werten her, die in unserem dynamischen Diagramm dargestellt werden sollen.
Hinweis zur Namenswahl: Namen können nicht völlig beliebig vergeben werden. Excel erlaubt zum Beispiel keine Einzelbuchstaben, weil diese auch als Spaltenmarkierung verwendet werden. Auch ganze Zellenbezüge sind dementsprechend nicht erlaubt. Nutzer von Excel 2007 werden außerdem feststellen, dass das Wort ‚Diagramm’ nicht als Bestandteil des Namens akzeptiert wird. Hier schafft die Kurzform ‚Diag’ Abhilfe.
Erstellen des Diagrammes mit den dynamischen Bezügen
Jetzt wählen wir eine leere Zelle aus die sich auf demselben Tabellenblatt befindet und fügen über die Registerkarte Einfügen ein neues Diagramm ein.
Im ersten Schritt legen wir den gewünschten Diagrammtyp fest (im Beispiel habe ich ein gruppiertes Säulendiagramm ausgewählt).
Über Daten auswählen (Register Diagrammtools>Entwurf) fügen wir die erste Datenreihe hinzu.
Zunächst definieren wir den Reihennamen durch den Wert: =Tabelle1!DiagGruppen. Danach setzen wir den Cursor in das Feld “Reihenwerte” und wählen anschließend Zelle B1 aus. Folgender Wert wird angezeigt: =Tabelle1!$B$1. Dies ändern wir durch den vorher erstellten dynamischen Bezug: =Tabelle1!DiagWertA.
Hinweis: Die Angabe des Tabellenblatt mit Ausrufzeichen ist wichtig. Wird das Diagramm z.B. auf einem Tabellenblatt erstellt welches die Ursprungsdaten nicht beinhaltet, so weigert sich Excel den Benannten Bereich als Eingabe zu akzeptieren, es sei denn es wird eben mit diesem Verweis angeführt (dies auch wenn der benannte Bereich in Excel so definiert ist das es für die gesamte Arbeitsmappe Gültigkeit haben sollte)!
Nun wiederholen wir diese Schritte für die zweite Datenreihe: Der Name der Datenreihe lautet auch hier =Tabelle1!DiagGruppen. Im Feld Reihenwerte ändern wir den angezeigten Wert auf: =Tabelle1!DiagWertB.
Im Datenquellen-Dialog bearbeiten wir die horizontale Achsenbeschriftung, denn auch diese soll dynamisch sein. Für den Bezug wählen wir =Tabelle1!DiagGruppen aus.
Das so erstellte Diagramm sieht zunächst nicht anders aus als jedes andere 12-Monats-Diagramm, aber…
“Wieso funktioniert das?” oder “Das dynamische Verhalten des Diagrammes”
Jetzt springen wir ein paar Monate nach Vorne und geben neue Werte für die kommenden Monate ein z.B.:
Jan 16 |
29,75 |
32,10 |
Feb 16 |
31,50 |
34,00 |
Mar 16 |
32,20 |
35,90 |
Apr 16 |
34,80 |
37,20 |
Mai 16 |
35,70 |
39,50 |
Jun 16 |
38,00 |
41,20 |
Schon während der Eingabe übernimmt Excel die neuen Werte im Diagramm! Das Diagramm umfasst jetzt die Monate Julie 15 bis Juni 16.
Bei der bisherigen Definition des Namens DiagGruppen haben wir einen kleinen Trick angewandt,
um zu verhindern, dass Datenreihen kleiner 12 Monate zu einem Fehler führen.
Wenn aber die Länge der Datenreihe (DiagLänge) immer mindestens 12 Zeilen beträgt, dann können Sie den Namen DiagLänge auch mit folgendem Bezug definieren:
=BEREICH.VERSCHIEBEN(Tabelle1!$A$1;ANZAHL2(Tabelle1!$A:$A)-1;0;-DiagLänge;1)
Die Datenreihe sollte dann aber nicht kleiner 12 werden, denn die Formel BEREICH.VERSCHIEBEN würde dann Bezüge zu Zeilen herstellen, die oberhalb der ersten Zeile der Tabelle liegen. Aus diesem Grund wird der Ausdruck MIN(DiagLänge; ANZAHL2(Tabelle1!$A:$A)-1) eingesetzt. Der Ausdruck gibt entweder den Wert DiagLänge aus oder, wenn die Datenreihe kürzer ausfällt als DiagLänge, die tatsächlich vorhandene Zeilenzahl des Datenbereichs:
=BEREICH.VERSCHIEBEN(Tabelle1!$A$1;ANZAHL2(Tabelle1!$A:$A)-1;0;-MIN(DiagLänge; ANZAHL2(Tabelle1!$A:$A)-1);1)
Testen wir also jetzt zum Abschluss noch die Reaktion des Diagramms auf einen verkürzten Datenbereich. Löschen wir dazu alle Daten ausgenommen der ersten 9 Monate. Das Diagramm verarbeitet den verkürzten Datenbereich ohne Probleme.
Sehr schöner Beitrag.
Gefällt mir sehr gut, der Ansatz mit Bereich.Verschieben.
Ich habe zuvor immer mit Ein/Ausblenden gearbeitet um nur 12 Monate zu zeigen.
Bevor ich auf diese Seite gestoßen bin, wusste ich nichts mit der Formel Bereich.Verschieben anzufangen, aber durch deine DashBoards und diesen Beitrag hier versuch ich diese Formel immer öfters einzusetzen.
Weiter so! Ich freue mich auf jeden neuen Beitrag ;)
Timo
Vielen Dank!
Hi,
diese tolle Vorgehensweise hat mein Berichtswesen auch verfeinert! Vielen Dank dafür!
Eine Frage nur da sich hier scheinbar die Excel-Cremé de lá Creme zu tummeln scheint,…hat jemand eine Idee wie man alle Datenwerte im Balkendiagramm (seitlich als Aufragsverlauf mit Pufferwerten dazwischen) für eben jene im Reihenwert als “Puffer” deklarierte Datenwerte einheitlich formatieren kann?
Über jede nützliche Anregung wäre ich sehr dankbar.
Liebe Grüße BB
Hallo, wie kann ich eine dritte Diagreammreihe hinzufügen, also einen weiteren Balken mit selbiger Funktion in die Grafik intergrieren?
Habe euren tollen Input mittlerweile auf eines meiner Diagramme anwenden können. Folgendes Problem habe ich allerdings: Ich möchte in das Diagramm die Datentabelle einfügen über “Entwurf-Diagrammlayouts-Layout 5”. Genauso soll es dann auch aussehen, allerdings würde ich die Datenreihen gerne umbenennen. Derzeit heissen sie “Jul15Aug15Sep15…”. Sollten aber “Wert A” oder “Wert B” heissen. Funktioniert das irgendwie?
Vielen Dank für die Anleitung, sehr hilfreich.
Jetzt stehe ich aber noch vor zwei Problemen:
1. Eins meiner Diagramme zeigt Vorjahr vs. aktuelles Jahr. Wie kann ich das Vorjahr dynamisch gestalten?
Was muss ich bei “=BEREICH.VERSCHIEBEN(Tabelle1!$A$1;ANZAHL2(Tabelle1!$A:$A)-1;0;-MIN(DiagLänge; ANZAHL2(Tabelle1!$A:$A)-1);1)” ändern?
2. Ich habe insgesamt 6 Tebellenblätter mit identischen Datenstrukturen (Werte unterscheiden sich). Gibt es eine schnelle Möglichkeit die Diagramme zu kopieren und anzugleichen?
Danke im Voraus!
Ich bekomme immer wenn ich den Reihennamen eingebe den Fehler: “Eine Formel in diesem Arbeitsblatt enthält einen oder mehrere ungültige Bezüge” obwohl ich alles nach Anleitung gemacht habe. Was ist falsch? Habe 3 Werte die jeweils über 12 Monate nur angezeigt werden sollen und finde den fehler nicht. Danke für die (hoffentliche Hilfe)
KLingt eigentlich nicht danach das Du etwas falsch machst mit dem Diagramm. Das ist eine Meldung die kommt wenn irgendwo eine Verknüpfung nicht mehr funktioniert… evtl hilft Dir dieser Beitrag weiter: Die Leiden der Verknüpften Werte
Danke für die hilfreiche Anleitung, das hat mir sehr geholfen.
Ein Problem bleibt jedoch noch bestehen. Und zwar habe ich das Datenbeschriftung so eingestellt, dass nur die Werte des ersten und des letzten Monats angezeigt werden. Immer wenn jetzt ein neuer Monat hinzukommt, fliegt “hinten” die Beschriftung weg und “vorn” hab ich zwei Beschriftungen für die jeweils letzten beiden Monate.
Gibt es eine Möglichkeit auch die Datenbeschriftung zu dynamisieren? Danke im Voraus für die Hilfe :-)
Da auch die Datum via einer Referenz eingelesen werden, könnte man die wohl dynamisch gestalten. Sowohl der referenzierte Range wie auch die Beschriftungen im Range. Hoffe das hilft Dir weiter!
Moin, ich suche für folgende Problematik eine Lösung. Ich habe eine Tabelle mit Grunddaten, in Spalte A =Monat(B), in Spalte B Datum und Uhrzeit und in Spalte C ein Wert. Ich möchte gern für jeden Monat ein Diagramm aus den Spalten B und C erstellen. Da ich dieses gern als Vorlage für die nächsten Jahre benutzen möchte, ist bei Schaltjahren die Zeilenanzahl unterschiedlich. Fix ist quasi nur das Argument in Spalte A.
Hi,
Gibt es eine Möglichkeit diese Tabelle mit einer Kategorisierung von Wert A (A1, A2, A3, usw.) zu kombinieren? Ich möchte also eine farbliche Kategorisierung in das hier beschriebene Modell mit einfügen.