Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Dynamischer Bereichs in Sparklines

Forumthread: Dynamischer Bereichs in Sparklines

Dynamischer Bereichs in Sparklines
28.08.2015 12:11:46
Oberprieler
Hallo,
ich habe ein kleines Problem mit einem Dynamischen Bereich in Sparklines.
Der Datenbereich für die Sparklines ist über einen Bereichsnamen definiert. Die Anzahl der Zeilen ist fix (z.B. 10 Zeilen) und die Anzahl der Spalten wird über die Formel "Zählen" ermittelt.
Füge ich diesen Bereichsnamen in ein einen Sparklinebereich ein, der auch 10 Zeilen "hoch" ist, wird der Bereichsname übernommen aber anschließend in einen fixen Bezug umgewandelt !?!
Ist der Bereich im Bereichsnamen nur eine Zeile hoch und der Sparklinebereich auch, dann bleibt der Bereichsname erhalten!?
Eine Musterdatei ist beigefügt....
Hat jemand hierzu eine Lösung? - Ich möchte ungern für jede Zeile einen zusätzlichen Bereichsnamen definieren.
Vielen Dank und viele Grüße schon mal im Voraus ;-)
https://www.herber.de/bbs/user/99874.xlsx

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: INDEX() anstelle BEREICH.VERSCHIEBEN() und ..
28.08.2015 12:53:14
...
Hallo Stefan,
... nicht den Gruppenstatus einer Sparkline-Darstellung betrachten/bearbeiten sondern die jeweilige einzelne Sparkline-Datenbereichsquelle.
Definiere in der Zelle der Zeile, wo Du die erste Sparkline erstellen willst, z.B. in A2:
einen Bereichsnamen zu =Tabelle1!B2:INDEX(Tabelle1!2:2;ANZAHL(Tabelle1!B2:M2)+1)
Nun aktiviere Sparkline und ordne den Datenbereich der Sparklinedefinition den von Dir vergebenen Bereichsnamen zu. Anschließend kopiere die Sparkline in die darunterliegenden Zellen.
Gruß Werner
.. , - ...

Anzeige
AW: INDEX() anstelle BEREICH.VERSCHIEBEN() und ..
28.08.2015 15:46:07
Oberprieler
Danke Werner - funktioniert, auch wenn ich nicht so 100% weis was ich mit der "index" Formel genau anstelle.
Ich hab es Testhalber nochmal mit der Bereich.Verschieben probiert, und es funktioniert auch.
Ich muss nur den Bereich in der Zelle der Sparkline (wie Du auch geschrieben hast) definieren und die Strings entfernen. Diesen Bereichsnamen einer Sparkline zuweisen und diese dann - wie von Dir beschrieben - in die Zellen darunter kopieren.
Merci!
VG
Stephan

Anzeige
AW: mit INDEX() ist es erstens einfacher ...
28.08.2015 16:18:48
...
Hallo Stefan,
... zweitens ist INDEX() im Gegensatz zu BEREICH.VERSCHIEBEN() keine volatile Funktion (mehr dazu sieh mal hier: http://www.online-excel.de/excel/singsel.php?f=41) und drittens ist die Formel auch noch kürzer ;-)
Ich rate deshalb jeden, sich etwas mehr mit INDEX() zu beschäftigen. Diese Funktion ist sehr universell einsetzbar. Dazu u.a. siehe auch hier: http://www.online-excel.de/excel/singsel.php?f=180
Gruß Werner
.. , - ...

Anzeige
AW: mit INDEX() ist es erstens einfacher ...
28.08.2015 19:04:39
Oberprieler
Danke Werner für die Aufklärung! Langsam kommt Licht ins Dunkel und so wie in den Tutorials steht gings mir auch mit der "Online-Hilfe"...
Nachdem ich mir diese "Tutorials" zu Gemüte geführt habe dachte ich auch es verstanden zu haben.
Ich hab die Index-Formel jetzt auch in meinem Bereichsnamen eingebaut und soweit auch auf meine "Echtdatei" abgewandelt (beginnt nicht in b2 sondern erst in AA... usw) - alles funktioniert!
Mir ist nur noch in der INDEX Formel unklar, warum die Syntax für "Zeilen" mit der Anzahl-Formel versehen wird. Oder ist das in einem "Einzeilingen" Bezug/Matrix (Aufgrund der Angabe der gesamten Zeile 2 (in unserem Beispiel)) klar dass es sich hier um den Spaltenversatz handelt?
Vielen Dank nochmal!

Anzeige
AW: zu Deiner Syntaxfrage ...
29.08.2015 10:22:30
...
Hallo Stephan,
... betrachte doch aus meiner Formel: =Tabelle1!B2:INDEX(Tabelle1!2:2;ANZAHL(Tabelle1!B2:M2)+1)
zunächst nur den Formelteil INDEX(Tabelle1!2:2;ANZAHL(Tabelle1!B2:M2)+1)

Durch die Addition von 1 (in der ersten Spalte, A2 steht keine Zahl!) zu dem Teilergebnis aus dem Formelteil ANZAHL(Tabelle1!B2:M2) erhältst Du die Spaltennummer, wo die letzte Zahl steht. Dieser Wert wird INDEX() zur Matrix 2:2 als Argument übergeben. Und ist in diesem Fall kein Zeilenwert sondern der "Zählwert" innerhalb der "linearen" Matrix der Werte aus Zeile 2:2. (Diesbzgl. war und ist als die MSO-Hilfe zu INDEX() nicht ganz ausführlich korrekt genug)
Also ermittelt INDEX(Tabelle1!2:2;ANZAHL(Tabelle1!B2:M2)+1) den letzten (auszuwertenden) Zahlenwert in der Matrix. Erst durch =Tabelle1!B2:[letzte auszuwertende Wert in Zeile 2] wird nun die eigentliche "lineare" MATRIX gebildet, die für Deine Sparklines notwendig sind.
Gruß Werner
.. , - ...

Anzeige
AW: zu Deiner Syntaxfrage ...
31.08.2015 10:42:24
Oberprieler
Hallo Werner,
Danke - jetzt ist der Groschen gefallen!
Merci!
VG
Stephan
;
Anzeige
Anzeige

Infobox / Tutorial

Dynamische Sparklines in Excel erstellen


Schritt-für-Schritt-Anleitung

  1. Daten vorbereiten: Stelle sicher, dass deine Daten in einer Tabelle organisiert sind. Beispielweise solltest du eine Zeile mit Werten haben, die du für deine Sparklines verwenden möchtest.

  2. Bereichsnamen definieren: Gehe zu Formeln > Namensmanager und erstelle einen neuen Namen. Verwende die folgende Formel:

    =Tabelle1!B2:INDEX(Tabelle1!2:2;ANZAHL(Tabelle1!B2:M2)+1)

    Diese Formel sorgt dafür, dass der Bereich dynamisch ist und sich an die Anzahl der Werte anpasst.

  3. Sparkline erstellen: Wähle die Zelle aus, in der du die Sparkline platzieren möchtest. Gehe zu Einfügen > Sparkline und wähle den Typ aus (z.B. Linie oder Säule).

  4. Datenbereich zuordnen: Im Dialogfeld für die Sparkline wähle den zuvor definierten Bereichsnamen als Datenbereich aus und klicke auf OK.

  5. Sparkline kopieren: Kopiere die Sparkline in die darunterliegenden Zellen, um mehrere Sparklines für deine Daten zu erstellen.


Häufige Fehler und Lösungen

  • Fehler: Sparkline wird fixiert: Wenn der Datenbereich für die Sparkline in einen festen Bezug umgewandelt wird, stelle sicher, dass der Bereichsnamen korrekt definiert ist. Verwende die INDEX-Funktion, um die Dynamik zu gewährleisten.

  • Fehler: Sparkline wird nicht angezeigt: Überprüfe, ob deine Daten im definierten Bereich tatsächlich Werte enthalten. Wenn der Bereich leer ist, wird die Sparkline nicht angezeigt.


Alternative Methoden

  • BEREICH.VERSCHIEBEN(): Alternativ zur INDEX-Funktion kannst du die BEREICH.VERSCHIEBEN()-Funktion verwenden. Diese Methode ist etwas komplexer, bietet jedoch ähnliche Ergebnisse.

  • Sparklines in mehreren Zellen: Du kannst auch Sparklines in mehreren Zellen gleichzeitig erstellen, indem du den gleichen dynamischen Bereichsnamen verwendest. Dies spart Zeit und Aufwand.


Praktische Beispiele

  • Beispiel 1: Angenommen, deine Werte stehen in den Zellen B2 bis M2. Der dynamische Bereich für die Sparkline wäre dann:

    =Tabelle1!B2:INDEX(Tabelle1!2:2;ANZAHL(Tabelle1!B2:M2)+1)
  • Beispiel 2: Wenn du Sparklines für Verkaufszahlen in mehreren Zeilen erstellen möchtest, kannst du die Sparkline einfach in die erste Zelle der nächsten Zeile kopieren und der dynamische Bereich wird automatisch angepasst.


Tipps für Profis

  • Nutze die Funktion ANZAHL in Kombination mit INDEX, um sicherzustellen, dass deine Sparklines dynamisch bleiben, auch wenn sich die Anzahl der Datenpunkte ändert.

  • Experimentiere mit verschiedenen Sparkline-Typen und Formaten, um eine visuell ansprechende Darstellung deiner Daten zu erhalten.

  • Halte deine Excel-Version auf dem neuesten Stand, um die besten Funktionen für Sparklines in Excel nutzen zu können.


FAQ: Häufige Fragen

1. Was sind Sparklines in Excel?
Sparklines sind kleine Diagramme, die innerhalb einer Zelle angezeigt werden und eine visuelle Darstellung von Daten bieten.

2. Wie kann ich mehrere Sparklines gleichzeitig erstellen?
Definiere einen dynamischen Bereichsnamen und kopiere die Sparkline in die Zellen darunter. Sie wird sich automatisch an die neuen Daten anpassen.

3. Warum sollte ich die INDEX-Funktion verwenden?
Die INDEX-Funktion ist nicht volatil und trägt somit zur Verbesserung der Performance deiner Excel-Dateien bei, im Gegensatz zur BEREICH.VERSCHIEBEN()-Funktion.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige