Clever-Excel-Forum

Normale Version: SUMME über mehrere Tabellenblätter
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen!

Ich möchte eine Summe über gleiche Zellen in mehreren Tabellenblättern erstellen. Mit SUMME(Tabelle1:Tabelle3!A1:A4) klappt das wunderbar.
Nun möchte ich den Ausdruck "Tabelle1:Tabelle3!A1:A4" aber aus den Einzelteilen "Tabelle1" usw. zusammenbasteln, die in einzelnen Zellen stehen. Und das bekomme ich nicht hin. Mit einem einzelnen Tabellenblatt kein Problem:

SUMME(INDIREKT(VERKETTEN(G8;"!";H8))) , wenn in G8 "Tabelle1" steht und in H8 "A1:A4".

Aber geht das auch über mehrere Tabellenblätter?

Besten Dank schonmal im Voraus!
Michael
(20.08.2021, 11:23)Mikel schrieb: [ -> ]Nun möchte ich den Ausdruck "Tabelle1:Tabelle3!A1:A4" aber aus den Einzelteilen "Tabelle1" usw. zusammenbasteln, die in einzelnen Zellen stehen. Und das bekomme ich nicht hin. Mit einem einzelnen Tabellenblatt kein Problem:[/color]
Warum?

Abgesehen davon ist es einfacher die Daten auf einem Blatt zu halten dann zu summieren (Pivot).
Warum? Es ist ja durchaus üblich, Zahlen z.B. für jeden Monat auf einem eigenen Tabellenblatt zu notieren, und irgendwann möchte man die zusammenfassen. In meinem Fall geht es um Kurse und ihre Teilnehmer.

Meine Frage geht im Grunde auch weiter, und vielleicht ist sie in der Verallgemeinerung einfacher zu beantworten.

SUMME(Tabelle1:Tabelle3!A1:A4) klappt wie gesagt. Wenn ich das Argument als Text mit VERKETTEN  zu einem Zellinhalt (im Textformat), sagen wir in B3 zusammenfasse zusammenbastele, funktioniert SUMME(B3) nicht. 

Kann/muss man den Inhalt von B3 umformatieren, von Text -> Bezug oder Text -> Bereich?

Mir gelingt das nicht.
Zitat:Es ist ja durchaus üblich, Zahlen z.B. für jeden Monat auf einem eigenen Tabellenblatt zu notieren,


Aber nur bei denjenigen, die sich die Arbeit bewusst oder unbewusst unnötig erschweren wollen.

Gleichartige Daten gehören grundsätzlich auf ein Tabellenblatt. Es sollte zwischen Datenerfassung und Datenauswertung unterschieden werden.

Wenn später einzelne Monate betrachtet werden sollen, kann das entsprechend aufbereitet und ausgegeben werden (z.B. auch per PowerQuery oder Pivot oder einfachen Filter).

Es wird zu viel "in Papier gedacht", wo die Eintragungen auf mehreren Blättern gemacht wurden.

1.048.576 Zeilen und 16.384 Spalten in einem Tabellenblatt sollten doch reichen
(21.08.2021, 06:13)Mikel schrieb: [ -> ]Warum? Es ist ja durchaus üblich, Zahlen z.B. für jeden Monat auf einem eigenen Tabellenblatt zu notieren, und irgendwann möchte man die zusammenfassen.
Dazu hatte ich bereits etwas geschrieben.

Mit "Warum?" meinte ich "Warum muss der Bezug aus anderen Zellen verketten werden?".
(21.08.2021, 06:59)Cadmus schrieb: [ -> ]Es wird zu viel "in Papier gedacht", wo die Eintragungen auf mehreren Blättern gemacht wurden.

Zunächst bin ich selbstverständlich völlig Deiner Meinung.
Ist halt unglücklich, dass Microsoft das Objekt Blatt, Sheet, Blad, … nennt.

Die einzig korrekte Bezeichnung ist imo Tabelle.
So kommt man dann recht schnell auf die Bedeutung einer Tabelle in einer Datenbank.
Kein Entwickler einer DB käme jemals auf die Idee, für verschiedene Monate jeweils einzelne Tabellen anzulegen!

Zur Entschuldigung des TE sei aber angemerkt, dass diese "Unsitte" extrem häufig vorkommt und in den Foren mehrfach täglich angemahnt wird.

Abschließend noch eine Bemerkung:
Man kann die Tabellenblätter auch in Excel oder mittels Power Query konsolidieren.
Excel:
https://support.microsoft.com/de-de/offi...b?ns=excel&version=90&ui=de-de&rs=de-de&ad=de

Gruß Ralf
(20.08.2021, 11:23)Mikel schrieb: [ -> ]Aber geht das auch über mehrere Tabellenblätter?

Hallo, 19 

du könntest in dem Fall auch mit einer UDF arbeiten - das bietet dir alle/eine Menge Freiheiten: 21
[attachment=39875]
Hi,

um Dir das mögliche Formelprinzip zu zeigen:

Deine Blattnamen stehen in D1:D3 (z.B.: Tabelle1, Tabelle2, Tabelle3)
Der konkrete (variable) Zellbezug steht in den Zellen E1:E3 - und zwar in E1 die Spalte (A), in E2 die Beginnzeile (1) und in E3 die Endzeile (4) - bedeutet also A1:A4.

Dazu diese Arrayformel:

{=SUMME(N(INDIREKT("'"&MTRANS(D1:D3)&"'!"&E1&ZEILE(INDIREKT(E2&":"&E3)))))}
Hi Boris,

das gefällt mir sehr gut, was du da vorgeschlagen hast! Auf Basis dessen werde ich noch ein bisschen weiter experimentieren.

Herzlichen Dank, 
Michael

PS.: Auch den Autoren der anderen Beiträge sage ich Dank. Es mag sein, dass es bei Datenbank-Anwendungen üblich und praktisch ist, alle Informationen in eine Tabelle zu packen und durch gute Suchroutinen und Abfragen wiederzufinden. Ich komme aus der C++ und C#-Welt, und da macht man es m.E. nicht so. Das Prinzip der objektorientierten Programmierung kennt "Instanzen" eines Objektes (hier vergleichbar ein Monat = ein Tabellenblatt) und der - wenn ich es richtig verstanden habe - feinen Zergliederung von Funktionalitäten. Es gibt Programmierer, die von einer maximal sinnvollen Länge einer Funktion von 10 Zeilen sprechen. Aber Excel ist keine Programmiersprache, und schon gar keine objektorientierte. Mir ist klar, dass man sich die gleiche Arbeit mehrfach machen muss, wenn man z.B. eine weitere Spalte für jeden Monat einführt. Aber unter Abwägung aller Vor- und Nachteile möchte ich mich doch für die separaten Tabellenblätter entscheiden.