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

Name aus Zelle in Summen Formel verwenden

Forumthread: Name aus Zelle in Summen Formel verwenden

Name aus Zelle in Summen Formel verwenden
09.11.2016 13:56:16
Timo
Hallo,
ich habe folgendes Problem. Ich habe eine Tabelle mit vielen Tabellenblättern. Auf dem Blatt "Übersicht" suche ich mir das erste und das letzte Blatt aus, welches ich auswerten möchte.
Das passiert über eine Formel...
Ich habe jetzt also den Namen des ersten und des letzten Arbeitsblatts die ich auswerten möchte in den Zellen K4 und K5.
Jetzt möchte ich die Summe der H8 Zelle über allen Arbeitsblättern im Bereich bilden.
Wenn die Blätter definierte Namen haben, ist es ja einfach. Z.B.:
Blattname Start = Start
Blattname Ende = Ende
=Summe(Start:Ende!H8)
Sobald ich jetzt aber Start mit K4 ersetze klappt das ganze nicht mehr. Mit der Indirektfunktion habe ich es auch schon versucht, bin aber leider nicht zum Erfolg gekommen. Könnte daran liegen, dass ich mit der Funktion immer Anführungszeichen vor und nach dem Namen hatte ("Start").
Wäre super wenn hier jemand eine Lösung hat
Gruß Timo
Anzeige

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: geht mW in einer "3D-Summe"nformel nicht owT
09.11.2016 14:54:18
...
Gruß Werner
.. , - ...
AW: geht mW in einer "3D-Summe"nformel nicht owT
09.11.2016 16:43:10
Luschi
Hallo Timo,
schau mal hier: http://www.excelformeln.de/formeln.html?welcher=234
Angepaßt auf Dein Beispiel dann so:
{=SUMME(SUMMEWENN(INDIREKT("'"&K4:K5&"'!H8");"<1e+99"))}
Achtung: Matrixformel   Userbild
Gruß von Luschi
aus klein-Paris
Anzeige
AW: geht mW in einer "3D-Summe"nformel nicht owT
11.11.2016 09:06:24
Timo
Hi Luschi,
Danke für die Antwort. Aber leider klappt das nicht so wie es soll.
Wenn ich deine Formel ohne diese Klammer { eingebe und dann die Matrixformel bestätige rechnet er mir nur die Summe aus der Tabelle "anfang" und "z ende" nicht aber die Summe aus dem was noch dazwischen ist.
Wenn ich mit F9 mir die Formel ansehe, fällt auch auf, dass die Formel nicht nach dem richtigen Schema (Name:Name!h8) aufgebaut ist sondern so (Name!h8;Name!h8)
siehe hier:
=SUMME(SUMMEWENN(INDIREKT({"'anfang'!H8";"'z ende'!H8"});"<1e+99"))
Anzeige
Das geht nur, wenn alle BlattNamen aufgelistet ...
09.11.2016 18:45:47
Luc:-?
…wdn, Timo,
weil Xl keine Fkt hat, die ein Datenfeld über mehrere Blätter bilden kann, sondern nur solche, die ein fertiges Ergebnis darüber liefern, wie zB SUMME. Letztere setzen aber feste Blatt­Namen für die Intervall­Grenzen voraus. Eine Fml mit INDIREKT ist hier nur ein­setzbar, wenn alle BlattNamen einzeln nacheinander in die Fml eingesetzt wdn. Das kann über einen Platz­halter per WECHSELN erfolgen oder die Namen direkt (in beiden Fällen natürlich als Text) eingesetzt wdn:
=SUMMENPRODUKT(N(INDIREKT(WECHSELN("#!H8";"#";K4:Kn))))
=SUMMENPRODUKT(N(INDIREKT(K4:Kn&"!H8")))
Die XlFkt N hat hier die Aufgabe, das Ergebnis zu normalisieren, das von INDIREKT in einer nicht-abbild- und von SUMMENPRODUKT -weiter­ver­arbeit­baren Form gelie­fert wird.
Die von Luschi gezeigte umständliche MatrixFml-Lösung, die ansonsten auf dasselbe hinausläuft, ist nicht erfor­derlich.
Feedback nicht unerwünscht! Gruß, Luc :-?
Besser informiert mit …
Anzeige
AW: Das geht nur, wenn alle BlattNamen aufgelistet ...
11.11.2016 09:43:42
Timo
Hi Luc,
wenn ich dich richtig verstanden habe kann ich die Summe über alle Blätter H8 nur bilden wenn ich den Namen von Hand in die Formel eingebe?
Wenn ich statt dem Namen nur eine Zelle die den Namen enhält verwende geht es nicht? Bzw. ich muss dann alle Blattnamen aufführen in denen ich H8 zählen will?
Wenn ich deine erste Formel verwende muss ich für # was einsetzten?
Bei beiden Formeln kommt bei mir leider die Fehlermeldung #name.
Anzeige
AW: Das geht nur, wenn alle BlattNamen aufgelistet ...
11.11.2016 13:24:11
Luschi
Hallo Timo,
hier mal eine Beispieldatei mit 3 Lösungsmöglichkeiten:
https://www.herber.de/bbs/user/109348.xlsx
Gruß von Luschi
aus klein-Paris
AW: Deine dritte Formel gefällt mir sehr gut owT
11.11.2016 16:40:19
...
Gruß Werner
.. , - ...
Luschis 3.Fml entspricht meiner 1., aber es ...
11.11.2016 20:29:41
Luc:-?
…reicht auch meine 2., Werner! :-|
Luc :-?
Anzeige
AW: ach ja, ...
12.11.2016 09:41:51
...
Hallo Luc,
... das hatte ich offensichtlich schon wieder vergessen. Sorry.
Vielleicht doch schon beginnender Alzheimer bei mir :-(
Dir ein schönes WE
Gruß Werner
.. , - ...
So schlimm? Will ich doch nicht hoffen, ...
12.11.2016 20:05:54
Luc:-?
…Werner!
Dito schöWE, Luc :-?
AW: Das geht nur, wenn alle BlattNamen aufgelistet ...
11.11.2016 18:14:04
Timo
Hi Luschi,
vielen Dank schon mal für deine Beispiel Datei. Leider kommen diese Formeln so alle nicht in frage...
Ehrlich gesagt verstehe ich diese komplizierten Formeln auch nicht. In allen drei Versionen brauche ich eine Liste mit allen Blattnamen. Zudem muss der ausgewählte Bereich immer mit einem Blattnamen gefüllt sein.
Ich verstehe also nicht den Vorteil der von dir gezeigten Formlen gegenüber dieser: Summe(Start:Ende!h8)
Vielleicht beschreibe ich nochmal kurz die Problematik genauer:
Ich muss in meiner Excel Liste Personen verwalten. Dazu habe ich ein Übersichts Blatt, auf dem alle Personen aufgelistet sind. Kommt eine neue Person dazu wird ein neues Blatt erstellt und der Name wird in die Liste auf der Übersicht hinzugefügt (alles über ein Macro, die Zeilen unter dem letzen Namen sind leer, erst über das Macro wird die letzte Zeile kopiert und angehängt). Die Liste wird also über die Zeit immer länger und sortiert sich auch um, da alles Alphabetisch geordnet wird.
Jetzt habe ich mir schon Formeln erstellt, die mir den Namen des ersten und letzten Blattes auf meinem Auswert Arbeitsblatt ausgeben und wollte da zwischen die Summe bilden. Summe(Start:Ende!h8)
Wie ich jetzt in den Beiträgen gelesen habe scheint das ja so nicht zu funktionieren...Richtig?
Dann bräuchte ich aber eine andere Formel die wohl noch komplizierter wird.
Die Formel müsste dann ja die Namen der Blätter aus der Übersicht übernehmen (mit entsprechendem variablen Enden) und aufaddieren.
Wäre echt mega wenn du mir nochmal weiter helfen könntest.
Meine letzte option wird sein ein Blatt aaaa also mein erstes und ein Blatt zzzz als mein letztes zu deklarieren und dazwischen zu suchen... Diese Lösung find ich nur nicht so schickt wegen den beiden unnützen/hilfs Blättern
Anzeige
Timo, du scheinst uns nicht so recht zu ...
11.11.2016 20:57:49
Luc:-?
…verstehen! Was du vorhast, ist mit normalen XlFktt so nicht machbar, weil es keine entsprd XlFkt gibt! Außerdem ist mir schleier­haft, warum du meine einfachen Fmln nicht verstehst! Was sollte die Frage heißen, wodurch # ersetzt wdn muss?! Das steht alles in der Fml! Viell solltest du dich erst mal zur Wirkungsweise der verwendeten Fktt informieren, bevor wir noch 'ne Weile aneinander vorbei schreiben?!
Ich empfehle übrigens meine 2.Fml. Falls es dir aber zuviel ist, alle einzubeziehenden Blattnamen zu ermitteln und dann im Blatt aufzuführen, musst du halt einheitliche, aber durchnummerierte BlattNamen verwenden. Irgendwelche Zellen mit BlattNamen sind dann nicht erforderlich und du kannst solch eine Fml bilden:
=SUMMENPRODUKT(N(INDIREKT("Tabelle"&ZEILE(A1:A3)&"!H8")))
Musst du das BlätterIntervall aber eingrenzen, brauchst du nur die Anfangs- und die EndNr und kannst dann diese Fml verwenden:
=SUMMENPRODUKT(N(INDIREKT("Tabelle"&ZEILE(INDIREKT(K4&":"&K5))&"!H8")))
Luc :-?
Anzeige
AW: Timo, du scheinst uns nicht so recht zu ...
12.11.2016 10:28:30
Timo
Hey
vielen Dank nochmals für eure Hilfe!
Ich habe jetzt verstanden, dass ich alle Blattnamen aufzählen muss...
Da ich ein Variables Ende habe, habe ich die Formel nochmals ergänzt, sodass sie immer bis zum letzten Blatt zählt:
=SUMMENPRODUKT(N(INDIREKT(WECHSELN("#!H8";"#";K4:(INDIREKT("k"&M15))))))~f~
Anstatt dem festen Ende z.B.:K10 steht hier: (INDIREKT("k"&M15)
in M15 suche ich die letzte Zeile mit:~~=MAX((K1:K999<>"")*ZEILE(1:999))
So funktionierts dann!
Anzeige
AW: Timo, du scheinst uns nicht so recht zu ...
12.11.2016 11:35:59
Timo
Hey
vielen Dank nochmals für eure Hilfe!
Ich habe jetzt verstanden, dass ich alle Blattnamen aufzählen muss...
Da ich ein Variables Ende habe, habe ich die Formel nochmals ergänzt, sodass sie immer bis zum letzten Blatt zählt:
=SUMMENPRODUKT(N(INDIREKT(WECHSELN("#!H8";"#";K4:(INDIREKT("k"&M15))))))
Anstatt dem festen Ende z.B.:K10 steht hier: (INDIREKT("k"&M15)
in M15 suche ich die letzte Zeile mit:=MAX((K1:K999"")*ZEILE(1:999))
So funktionierts dann!
Jetzt habe ich noch zwei Fragen,
durch einen Denkfehler von mir hat diese Formel funktioniert. Denn eigentlich müsste man ja einen Bereich angeben K4:K10. ich habe aber K4:"letzen Blattnamen" eingegeben und es Funktioniert! Wieso das?
Wie kann ich noch hinbekommen, dass ich nicht auf dem Blatt der Auswertung sondern auf einem anderen Blatt die Blattnamen her bekomme?
Habe versucht die Formel dahingegen abzuändern aber leider ohne Erfolg...
Im Anhang mal die Datei wie sie bisher aussieht
https://www.herber.de/bbs/user/109371.xlsx
Anzeige
AW: dazu folgendes; eine Möglichkeit wäre ...
12.11.2016 15:32:39
...
Hallo Timo,
... der Einsatz einer alten Excel4-Makrofunktion, um Deine zweite Frage zu beantworten. Dies erfordert jedoch, dass Du anschließend die Datei als XLSm oder XLSb-datei abspeichern musst.
Dazu definiere im Namensmanager folgende benannte Formel: =ARBEITSMAPPE.ZUORDNEN(1). Wenn Du diese z.B. Tabellen benannt hast kannst Du in jedem Tabellenblatt der Arbeitsmappe Deine vorhandenen Tabellenblattnamen mit folgender Formel in einer beliebigen Zelle und diese dann weit genug nach nach unten kopieren:
=WENNFEHLER(TEIL(INDEX(Tabellen;ZEILE(Z1));FINDEN("]";INDEX(Tabellen;ZEILE(Z1)))+1;99);"")
Wenn Du ein neues Tabellenblatt einfügst, musst Du eine Neuberechnung der Formeln erzwingen.
Nun zu Deiner 1. Frage. Es bedarf keiner zusätzlichen Hilfszellen (bei Dir L15:M16) um alle aktuellen Tabellenblätter in die Auswertung einzubeziehen.
In Abwandlung bzw. Ergänzung von Luc´s Formelvorschlag lautet diese dann z.B. so:
=SUMMENPRODUKT(N(INDIREKT(WECHSELN("#!H8";"#";K4:(INDIREKT("k"&VERWEIS(9;1/(K1:K99"");ZEILE(K1:K19))))))))
Den VERWEIS()-Formelteil hab ich genutzt, weil ich davon ausgehe, dass Du die Tabellenblattnamen in Spalte K nun mit der zu 2.) vorgestellter Formel ermittelst.
Gruß Werner
.. , - ...
Anzeige
AW: Kurz vor dem Ziel
13.11.2016 12:27:20
Timo
Hallo Werner,
ich bin nicht ganz sicher ob wir uns richtig verstanden haben (bzw. ich dich).
Hier nochmal kurz und knapp das Problem:
Ich habe ein Übersichtsblatt auf dem Patienten in Spalte A aufgelistet sind. Diese Patientennamen sind auch die Blattnamen der anderen Blätter. Es kommen häufig neue Patienten hinzu.
Deshalb habe ich mir ein Macro erstellt (aus dem Netz zusammenkopiert) das mir mit einem Klick ein neues Blatt mit Namen anlegt und diesen Namen dann in Spalte A im Übersichtsblatt anhängt. Zusätzlich ist die Spalte A auch nach dem Alphabet sortiert.
Jetzt möchte ich nur noch alle Zellen H8 auf allen Patientenblättern aufsummieren, ABER auf einem anderen Blatt namens Auswertung.
Mit dieser Formel bin ich nah dran
=SUMMENPRODUKT(N(INDIREKT(WECHSELN("#!H8";"#";K4:(INDIREKT("k"&M15))))))
M15 zeigt mir die letzte beschriebene Zelle der Spalte [=MAX((K1:K999"")*ZEILE(1:999))], somit erweitert sich die Formel wenn ich einen neuen Patienten anlege. (Würde ich das Ende nicht ermitteln und nach dem letzten Patienten stünde eine Formel in der Zeile, bekäme ich eine Fehlermeldung.)
Jetzt fehlt nur noch, dass ich nicht in Spalte K auf diesem Blatt Auswertung sondern in Spalte A auf auf einem anderen Blatt Übersicht die Blattnamen stehen habe. Hier steht auch nicht nach dem letzten Patientenname eine Formel, da mir das Macro die letzte Spalte kopiert und anhängt.
Anzeige
AW: wir sind schon da ;-) ...
13.11.2016 14:59:29
...
Hallo Timo,
... dazu musst Du die Auswertungsformel nur entsprechend anpassen.
Angenommen, Deine Blattnamen stehen in Tabelle "Übersicht" ab Zelle A2 nach unten, dann in Deinem Auswertungstabellenblatt folgende angepasste Formel:

=SUMMENPRODUKT(N(INDIREKT(WECHSELN("#!H8";"#";
Übersicht!A2:INDIREKT("Übersicht!A"&ANZAHL2(Übersicht!A:A))))))

Gruß Werner
.. , - ...
Anzeige
AW: wir sind schon da ;-) ...
15.11.2016 16:49:20
Timo
Hey Werner,
vielen vielen Dank das hat Funktioniert.
Ich habe mich nur etwas schwer getan, weil am Ende der Formel das +X nicht mit angegeben war.
Wenn man bei A2 beginnen will zu Zählen muss man am ende +1 schreiben:
=SUMMENPRODUKT(N(INDIREKT(WECHSELN("#!H8";"#";
Übersicht!A2:INDIREKT("Übersicht!A"&ANZAHL2(Übersicht!A:A)+1)))))
Wenn man noch weiter unten beginnen will muss man einen entsprechend höheren Wert addieren. (wovon der Wert genau abhängt weiß ich gerade nicht, da ich in meiner Tabelle in 26 Anfangen will zu Zählen und + 14 eintragen muss. Und diese Zahlen stehen für mich gerade in keinem Zusammenhang. Aber egal, es klappt!)
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Name aus Zelle in Summen Formel verwenden


Schritt-für-Schritt-Anleitung

  1. Namen der Blätter definieren: Stelle sicher, dass die Namen der Blätter, die Du summieren möchtest, in den Zellen K4 (Start) und K5 (Ende) eingetragen sind.

  2. Formel eingeben: Verwende die folgende Formel in der Zelle, in der Du die Summe berechnen möchtest:

    =SUMMENPRODUKT(N(INDIREKT(WECHSELN("#!H8";"#";K4:K5))))

    Diese Formel summiert die Werte der Zelle H8 über alle Blätter im angegebenen Bereich.

  3. Matrixformel bestätigen: Wenn Du eine Matrixformel verwendest, musst Du sie mit Strg + Shift + Enter bestätigen, um korrekte Ergebnisse zu erhalten.

  4. Fehlerbehebung: Wenn die Formel nicht funktioniert, überprüfe, ob die Blattnamen korrekt sind und keine zusätzlichen Zeichen oder Leerzeichen enthalten.


Häufige Fehler und Lösungen

  • #NAME? Fehler: Dieser Fehler tritt häufig auf, wenn ein Blattname nicht korrekt ist oder die Formel nicht richtig eingegeben wurde. Überprüfe die Namen in K4 und K5 auf Tippfehler.

  • Summe nur von zwei Blättern: Wenn Deine Formel nur die Summe von zwei Blättern anzeigt, stelle sicher, dass Du die Formel als Matrixformel eingibst.

  • Falsche Bereichsdefinition: Achte darauf, dass Du die korrekten Zellen für den Blattnamen verwendest. Wenn Du beispielsweise nur K4 eingibst, wird das zweite Blatt ignoriert.


Alternative Methoden

  1. Verwenden von WECHSELN: Um die Summenformel flexibler zu gestalten, kannst Du die WECHSELN-Funktion nutzen, um die Blattnamen dynamisch zu ersetzen.

  2. VBA-Makros: Wenn Du häufig neue Blätter hinzufügst und die Formeln aktualisieren möchtest, kann ein VBA-Makro hilfreich sein, um die Blattnamen automatisch zu aktualisieren und die Summen zu berechnen.

  3. Zusammenfassung über eine Liste: Du kannst auch eine Liste aller Blattnamen in einem separaten Arbeitsblatt führen und die INDIREKT-Funktion verwenden, um diese Namen in Deine Summenformel zu integrieren.


Praktische Beispiele

Angenommen, Du hast folgende Blattnamen in K4 und K5:

  • K4: "Start"
  • K5: "Ende"

Die Formel zur Berechnung der Summe in H8 zwischen diesen Blättern lautet:

=SUMME(INDIREKT("'"&K4&":"&K5&"'!H8"))

Wenn Du mehrere Blätter hast, kannst Du die Formel anpassen, um dynamisch zu arbeiten:

=SUMMENPRODUKT(N(INDIREKT(WECHSELN("#!H8";"#";K4:(INDIREKT("k"&M15))))))

Hierbei wird M15 genutzt, um die letzte Zeile zu bestimmen, wo neue Daten hinzugefügt wurden.


Tipps für Profis

  • Namen als Variablen nutzen: Statt feste Blattnamen zu verwenden, definiere Variablen für die Namen in einer separaten Tabelle, um die Übersichtlichkeit zu erhöhen.

  • Formel-Dokumentation: Halte die Formeln gut dokumentiert, besonders wenn Du komplexe Berechnungen mit mehreren Blättern verwendest.

  • Verwendung von MAX: Nutze die MAX-Funktion, um den letzten belegten Zellbereich zu ermitteln, was besonders hilfreich ist, wenn Du regelmäßig neue Blätter hinzufügst.


FAQ: Häufige Fragen

1. Warum funktioniert die INDIREKT-Funktion nicht?
Die INDIREKT-Funktion benötigt die korrekten Blattnamen und muss in einer Matrixform eingegeben werden. Achte darauf, dass die Namen in den Zellen K4 und K5 korrekt eingetragen sind.

2. Kann ich auch mit benannten Bereichen arbeiten?
Ja, Du kannst benannte Bereiche verwenden, um die Formel zu vereinfachen. Erstelle einen benannten Bereich für den Zellbereich und verwende diesen in Deiner Formel.

3. Wie kann ich die Formel anpassen, wenn die Blattnamen in einer anderen Tabelle stehen?
Du kannst die Formel so anpassen, dass sie die Blattnamen aus einer anderen Tabelle bezieht, indem Du den Tabellennamen in der INDIREKT-Funktion angibst:

=SUMMENPRODUKT(N(INDIREKT(WECHSELN("#!H8";"#";Übersicht!A2:INDIREKT("Übersicht!A"&ANZAHL2(Übersicht!A:A)+1)))))

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige