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

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

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
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.
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
Anzeige
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 :-?
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!
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
.. , - ...
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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge