Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1732to1736
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Summenformel Spalte statt Zeile runter kopieren

Summenformel Spalte statt Zeile runter kopieren
21.01.2020 11:07:10
Thomas
Hallo
Ich bin leider nicht so fit in Excel.
Mein Problem:
ich habe eine Formel mit der ich die Summe einer definierten Zelle aus mehreren Datenblättern berechne.
Nun möchte ich die Formel nach unten kopieren, es soll sich beim runter kopieren an Stelle der Zeile die Spalte erhöhen.
Hier die Formel zum besseren Verständnis:
=SUMME('NSHV-U1-401:UV-E4-404'!H73)
Die Formel in der nächsten Zeile soll dann sinngemäß =SUMME('NSHV-U1-401:UV-E4-404'!I73) lauten.
Vielen Dank für eure Hilfe schon jetzt!
Gruß Thomas

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

Betreff
Datum
Anwender
Anzeige
statt H73 in der Formel
21.01.2020 11:23:19
WF
schreibst Du:
INDEX(A$1:Z$99;73;ZEILE(X8))
WF
AW: geht mE in einer 3D-Formel nicht, oder? owT
21.01.2020 13:41:06
neopa
Gruß Werner
.. , - ...
Da hast du recht, ...
21.01.2020 14:33:44
Luc:-?
…Werner,
INDEX kann keine blattübergreifenden Datenfelder (mit BlattX:BlattY!) aufbauen. Das geht mit keiner DatenBereitstellungsfkt so, nur unter bestimmten Bedingungen mit INDIREKT (nach Liste).
Hier müsste dann wohl klassisch so verfahren wdn:
=SUMME(INDEX('NSHV-U1-401'!H$73:X$73;73;ZEILE(1:1));INDEX('NSHV-U1-402'!A$1:B$3;73;ZEILE(1:1)); …;INDEX('UV-E4-404'!H$73:X$73;73;ZEILE(1:1)))
Gruß, Luc :-?
„Die universelle Befähigung zur Unfähigkeit macht jede menschliche Leistung zu einem unglaublichen Wunder.“ Stapps ironisches Paradoxon
Nichtsdestotrotz Durchblick verbessern mit …

Anzeige
AW: geht mE auch nicht mit INDIREKT() ...
21.01.2020 14:50:42
neopa
Hallo Luc,
... jedenfalls nicht so, wie WF es meint (in der 3-D Formel die Teilformel einsetzen).
Was meinst Du genau mit "nach Liste"?
Gruß Werner
.. , - ...
Walter hat beim 2.Versuch das BlattIntervall ...
21.01.2020 15:06:26
Luc:-?
nicht beachtet, Werner;
er lässt wohl nach, denn in excelformeln.de kommt das wohl vor. ;-)
Mit Liste meine ich ein vollständiges Verzeichnis der betroffenen BlattNamen, denn mit BlattNamenIntervallen kann INDIREKT tatsächlich nichts anfangen. Man benötigt dann allerdings noch eine Hilfsfkt zur Normierung des erzeugten Datenfeldes (für nur Zahlen N, für nur Texte T, für einen Mix hat Xl nichts anzubieten). Hier also (ersatzweise mit MatrixKonstante der BlattNamen) zB so:
=SUMME(N(INDIREKT(WECHSELN("'#'!Z3S"&ZEILE(1:1);"#";{"NSHV-U1-401"."NSHV-U1-402"…"UV-E4-404"}) ;0)))
Es geht allerdings auch ohne WECHSELN:
=SUMME(N(INDIREKT("'"&{"NSHV-U1-401"."NSHV-U1-402"…"UV-E4-404"}&"'!Z3S"&ZEILE(1:1);0)))
Gruß, Luc :-?
Anzeige
AW: ich würde es einfacher lösen, ...
21.01.2020 15:15:09
neopa
Hallo Luc,
... einfach die bisherige 3D-Formel in einer Hilfszeile nach rechst ziehend kopieren und danach deren Ergebnisse mit INDEX() in die Vertikale transformieren.
Gruß Werner
.. , - ...
Wenn die BlattAnzahl nicht zu groß wird, ...
21.01.2020 19:02:54
Luc:-?
…Werner,
und der erhöhte Platzbedarf nicht die Übersichtlichkeit beeinträchtigt, wäre das eine Lösung.
Es geht aber auch mit INDEX, wenn man zusätzlich die UDF TxEval benutzt (die XLM-Fkt AUSWERTEN ist hierfür aber nicht geeignet!) → vereinfachtes Bsp:
J55[:J56]:=SUMME(TxEval("index("&{"Tabelle2"."Tabelle3"}&"!A$1:B$3,3,"&ZEILE(I1)))
Wenn man außerdem eine Fkt (hier UDF TabName) zur Rückgabe der BlattNamen benutzt, kann die Fml des vereinfachten Bsps auch so aussehen (TabName ist nicht aktiv matrixfml-fähig, deshalb die kompliziertere Form; könnte mit anderer analoger Fkt aber einfacher wdn):
K55[:K56]: {=SUMME(TxEval("index("&TxEval("TabName("&ZEILE($2:$3)&")")&"!A$1:B$3,3,"&ZEILE(I1)))}
Die MatrixFml-Form ist hier wg ZEILE erforderlich.
Luc :-?
Anzeige
Nachtrag (speziell @neopa):
25.01.2020 00:33:29
Luc:-?
In anderem Zusammenhang ist mir wieder Folgendes bewusst geworden, Werner;
es ist im Grunde genommen falsch, in einer INDIREKT-Fkt direkt Z1S1-Zeilen-/SpaltenKennBuchstaben zu benutzen, wie ich es in der klassischen Fml getan hatte:
=SUMME(N(INDIREKT("'"&{"NSHV-U1-401"."NSHV-U1-402"…"UV-E4-404"}&"'!Z73S"&ZEILE(8:8);0)))
Eine solche Fml fktioniert nur unter einer lokal-deutschen Xl-Version und wird nicht automatisch in andere lokale Xl-Versionen konvertiert. Z() und S() bleiben also erhalten und wdn nicht in bspw R[] und C[] gewandelt. Außerdem lässt sich ein solcher FmlText auch nicht per vbFkt Evaluate auswerten, was ohnehin bei "N(Indirect(…))" kaum Erfolgsaussicht hätte.
Im vorliegenden Fall kann unter Einsatz von ADRESSE aber auch ganz ohne INDIREKT oder INDEX gearbeitet wdn, wenn die bereits zuvor eingeführte UDF TxEval eingesetzt wird. Für das vereinfachte Bsp dann so:
=SUMME(TxEval(ADRESSE(3;ZEILE(I1);4;1;{"Tabelle2"."Tabelle3"})))
Oder unter Verwendung der bereits genannten (und verlinkten) UDF TabName so (als singulare MatrixFml):
{=SUMME(TxEval(ADRESSE(3;ZEILE(I1);4;1;TxEval("TabName("&ZEILE($2:$3)&")"))))}
Aber auch das muss nicht sein und das BlattIntervall kann wie bei zusammenfassenden XlFktt üblich und möglich unter Auswertungsaspekt auch in der vom Fragesteller gezeigten klassischen Form verwendet wdn:
=TxEval("sum('NSHV-U1-401:UV-E4-404'!"&ADRESSE(73;ZEILE(8:8))&")")
Das fktioniert dann sogar mit der XLM-Fkt AUSWERTEN in benannter Fml, nämlich so:
=BlätterSumme
BlätterSumme:=AUSWERTEN("summe('NSHV-U1-401:UV-E4-404'!"&ADRESSE(73;ZEILE(8:8))&")")
Anmerkung: Die mitunter ungünstige Verwendung ganzer Zeilen als Zähler erhöht hier die Chance einer automatischen Neuberechnung etwas, da die Auswertungsfmln nicht auf Änderungen in den QuellDaten reagieren können. Das machen sonst nur die N(INDIREKT(…))-Fmln sofort. Außerdem ist das die Standard-A1-Schreibweise, in die auch eine reine Z- bzw S Schreibung der Z1S1-Form (bzw nur R oder C bei R1C1-AdressAngaben mit Application.ConvertFormula in VBA) übersetzt wird.
Morhn, Luc :-?
Anzeige
AW: da hast Du ja mächtig ins Zeug gelegt ...
25.01.2020 08:26:09
neopa
Hallo Luc,
... Deine Aussage "es ist im Grunde genommen falsch, in einer INDIREKT-Fkt direkt Z1S1-Zeilen-/SpaltenKennBuchstaben zu benutzen" teile ich.
Aber ich bräuchte Stunden, um Deine Lösung einigermaßen nachzuvollziehen. Die eine Hilfszeile, die bei meinem einfachen Lösungsvorschlag benötigt wird, kann doch nicht der wirkliche Grund für eine derartige Lösung sein, oder?
Gruß Werner
.. , - ...
Ja, da hast Du recht, ...
25.01.2020 13:15:47
Luc:-?
…Werner,
es ging um mehr, nämlich …
1. um das leidige Problem der Darstellung von Daten mehrerer Blätter in einer Matrix, zB so:
A73[:D75]:=WAHL((SPALTE()+1)/2;INDEX(Tabelle2!$A$1:$B$3;ZEILE(A1);REST(SPALTE()-1;2)+1);
INDEX(Tabelle3!$A$1:$B$3;ZEILE(A1);REST(SPALTE()-1;2)+1))
In diesem Fall testweise mit [Strg][Enter] aus der Fml-EingabeZelle auf den ganzen ausgewählten Bereich übertragen, was keine MatrixFml, sondern die entsprd Anzahl variierender EinzelFmln ergibt.(Methode unter XAkte auf excelformeln erwähnt.)
2. um eine international portable Darstellung von INDIREKT, ausgehend von der Z1S1-Schreibung, was letztlich nur per ADRESSE-Verwendung möglich scheint, wodurch dann allerdings auch die Z1S1-Form überflüssig wird. In solchen Fällen können dann auch TabNamenslisten an ADRESSE übergeben wdn, aber keine üblichen Intervalle derselben.
3. um eine Zerlegung komplexer Fmln in aufeinander aufbauende EinzelFmln, um eine Übersicht zu schaffen. (Insofern war das auch ein NebenEffekt dieser Arbeit.)
Gruß + schöWE, Luc :-?
Anzeige
AW: nun, das erklärt Deinen betriebenen Aufwand...
25.01.2020 17:27:38
neopa
Hallo Luc,
... danke für Deine Erklärungen dazu. Ein schönes WE Dir noch.
Gruß Werner
.. , - ...
stimmt - also doch mit INDIREKT
21.01.2020 14:34:20
WF
Hi,
=INDIREKT("Tabelle2!"&(ADRESSE(73;ZEILE(X8))))
Tabelle2 ist sein kryptischer Tabellenname
WF
Anzeige
AW: statt H73 in der Formel
21.01.2020 17:06:43
Thomas
Hallo WF
entschuldige die späte Rückmeldung.
Die Formel funktioniert mit Bezug auf ein Tabellenblatt.
Soll aber die Summe aus mehreren Tabellenblättern gebildet werden bekomme ich den Fehler #WERT!
=SUMME(INDEX('NSHV-U1-401:UV-E4-404'!A$1:Z$99;73;ZEILE(X8)))
Diese Formel mit Bezug auf nur ein Tabellenblatt funktioniert einwandfrei und kann auch nach unten kopiert werden.
=INDEX('NSHV-U1-401'!A$1:Z$99;73;ZEILE(X8))
Mache ich noch was falsch?
Vielen Dank für deine Hilfe!
Lies die anderen Antworten! owT
21.01.2020 18:19:13
Luc:-?
:-?
mit SUMME SUMMEWENN und INDIREKT
21.01.2020 19:29:10
WF
Hi,
für die Blattnamen Tabelle1, Tabelle2, Tabelle3, Tabelle4 geht's mit dieser Arrayformel:
{=SUMME(SUMMEWENN(INDIREKT("Tabelle"&ZEILE($1:$4)&"!"&ADRESSE(73;ZEILE(X8)));"<1e+99"))}
WF
Anzeige
Gelöst mit Hilfszeile
22.01.2020 11:36:45
Thomas
Hallo
bin erst jetzt dazu gekommen mir eure Anworten anzusehen, sorry!
Scheint für einen Anfänger wohl doch etwas kompliziert zu sein.
Ich habe es jetzt mit einer Hilfszeile wie von Werner vorgeschlagen gelöst.
Vielen Dank für eure Hilfe!
AW: gerne owT
22.01.2020 13:52:57
neopa
Gruß Werner
.. , - ...

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige