Wie kann ich in Excel alle Zahlen über der aktuellen Zelle summieren?

31

Ich möchte eine Spalte in Excel haben, die aus einer Überschrift, einer Reihe von Zahlen und der Summe dieser Zahlen unten besteht. Ich möchte, dass die Summe an das Einfügen neuer Zahlen über der Summe angepasst wird. Etwas wie das:

Numbers
 1
 2
 5
10

18        Total

Wenn ich später 10 neue Nummern in die Mitte der Liste einfüge, soll die Summe diese automatisch enthalten.

Ich weiß, dass die SUM()Funktion eine ganze Spalte summieren kann, aber wenn sich die Summe auch in dieser Spalte befindet, beklagt sie sich über einen Zirkelverweis. Wie kann ich die Zahlen einfach über der Gesamtsumme summieren?

Mark Meuer
quelle

Antworten:

51

Die Funktionen ROW()und COLUMN()geben die Zeile und Spalte der aktuellen Zelle an. Verwenden Sie sie in der ADDRESS()Funktion, um eine Zeichenfolge zu erstellen, die den Bereich vom oberen Rand der aktuellen Spalte bis zur Zeile über der Summe darstellt. Verwenden Sie dann die INDIRECT()Funktion, um diese Zeichenfolge in einen realen Bereich umzuwandeln, der der SUM()Funktion gegeben werden soll. Die Formel für die Gesamtzelle wäre dann:

=SUM(INDIRECT(ADDRESS(1,COLUMN())&":"&ADDRESS(ROW()-1,COLUMN())))

Wenn Sie dies in eine beliebige Zelle in einer Tabelle einfügen, wird die Summe aller Zahlen in der Spalte über dieser Zelle erstellt.

Mark Meuer
quelle
1
@ user370646 Eigentlich habe ich es gerade mit Excel 2010 getestet, wobei verschiedene Formeltypen in verschiedenen Zellen hinzugefügt wurden, und es funktionierte ordnungsgemäß. (Es schlägt mit einem Zirkelverweisfehler fehl, wenn die hinzugefügten Zellen eine Formel enthalten, die auf die Zelle mit der Summe verweist.) Haben Sie bestimmte Beispiele?
Mark Meuer
1
+1 mal eine Million. Dies funktioniert in Google Sheets, wo die Bereiche der Summenfunktionen -DON'T- automatisch aktualisiert werden. Ich danke dir sehr.
seekerOfKnowledge
1
Ich habe gerade in Google Sheets getestet und die Funktionskombination funktioniert einwandfrei.
So
1
Diese Antwort hat mein Leben gerettet!
kRazzy R
1
Scheint auch in LibreOffice Calc zu funktionieren.
Dejan
6

Tatsächlich können Sie mit plain tun, was Sie wollen =SUM()

Angenommen, Ihre Excel-Tabelle hat den folgenden Aufbau:

\|  A  |  B  |
-+-----+-----+
1|  1  |     |
2|  2  |     |
3|  3  |     |
4|  4  |     |
5|  5  |     |
6|     |     |
7|  15 |Total|

Assumng A7ist =SUM(A1:A5), können Sie mehr Zeilen als Sie bitte addieren, wie Excel die expandieren =SUM‚s entsprechend reichen.

Angenommen, ich wähle jetzt die Zeilen 2, 3 und 4 aus und füge Zeilen ein. Das Ergebnis wird folgendes sein:

 \|  A  |  B  |
--+-----+-----+
 1|  1  |     |
 2|     |     |
 3|     |     |
 4|     |     |
 5|  2  |     |
 6|  3  |     |
 7|  4  |     |
 8|  5  |     |
 9|     |     |
10|  15 |Total|

A10gleich =SUM(A1:A8). Daher können Sie jetzt nach Belieben neue Nummern einfügen.

Doktoro Reichard
quelle
1
Jetzt, wo Sie es formulieren, wusste ich von diesem Verhalten. Aber aus irgendeinem Grund dachte ich, es wäre praktisch, nur eine Formel zu haben, die immer genau über der aktuellen Zelle summiert. Aber es ist offensichtlich einfacher, den einfachen Summenbereich zu erstellen, als die komplexe Formel, die ich mir ausgedacht habe. Ich war um die Hälfte zu schlau. Vielen Dank! (Ich muss mich trösten, dass ich zumindest etwas über INDIRECT und ADDRESS gelernt habe, die ich zuvor noch nicht verwendet hatte.)
Mark Meuer,
2
Ich habe die akzeptierte Antwort in die Antwort geändert, die ich veröffentlicht habe, da die Antwort über ein Jahr später immer wieder positiv bewertet wird, die in der Frage gestellte Aufgabe erfüllt und anscheinend in Google-Tabellen funktioniert, in denen dies nicht der Fall ist. Aber, @Doktoro, Ihre Antwort lieferte sehr nützliche Einblicke und ich bin dafür dankbar.
Mark Meuer
1
Es gibt einen Fehler: Fügen Sie eine Zeile am Ende ein (vor der leeren Zeile). Zumindest in LibreOffice bleibt die SUM-Formel mit ihrem ursprünglichen Bereich erhalten, dh die neue Zeile wird weggelassen. Meine Lösung: SUM(OFFSET(A$1; 0; 0; ROW(A7)-ROW(A$1); 1)). Da es sich auf sich selbst und nicht auf eine Zeile darüber bezieht, wird der Bereich immer korrekt angepasst.
Tilman Vogel
Der @ TilmanVogel ist eine Antwort! Vielen Dank
Genarito
5

Diese Antwort ist spezifisch für Libra Office, sollte aber auch für Excel funktionieren.

Wenn wir die einzufrierende Zeile / Spalte explizit erwähnen möchten, sollten wir grundsätzlich das $ mit dieser Zeile / Spalte erwähnen.

* Es gibt auch einen eingebauten Algorithmus, sodass Libra Office beim Kopieren der Formel in andere Zellen automatisch festlegt, wie die Formelwerte geändert werden sollen.

Nehmen wir also an, Sie müssen alle Zeilen G1 hinzufügen: GN => wobei N die aktuelle Zeilennummer ist. Dazu wollen Sie die Zeile des ersten Wertes fixieren und andere Werte als beibehalten. Die Formel lautet also:

= SUMME (G $ 1: G1) -> für die 1. Zeile und dann können Sie die Formel kopieren und in andere Zellen einfügen.

Libra Office behält automatisch G1 als ersten Wert bei und ändert den zweiten Wert dynamisch in G2, G3 usw. für jede Zelle.

Prateek
quelle
Gemäß der Antwort von Apostolos55> = Summe ($ A1: A1) <würde dies nicht funktionieren, da nur die Spalte A festgelegt wird, während die Zeile weiterhin variiert, wenn die Formel in andere Zellen in derselben Spalte kopiert wird. Daher sollte das $ vor der Zeile angehängt werden, um die korrekten Werte in der Formel zu erhalten. Des Weiteren wurde nicht erklärt, was andere Kombinationen sein können, so dass ich die Alternative zur Verfügung stellte. Das $ muss auf Zeile und Spalte angewendet werden, wenn die Zelle konstant gehalten werden soll.
Prateek
3

ok, Indirect () ist flüchtig. Wenn Ihr Blatt also größer wird, wird es nur langsamer. Wenn es zu Ihnen passt, sollten Sie Folgendes verwenden:

=Sum($A1:A1)

Wenn Sie diese Formel nach unten ziehen, haben Sie immer einen Bereich von A1 bis zur aktuellen (oder vorherigen usw.) Zelle. Nicht flüchtig, sehr schnell, viel einfacher!

Apostolos55
quelle
Danke für die Antwort. Bitte helfen Sie mir zu verstehen, wie sich Ihre Antwort von der von @Doktoro Reichard unterscheidet.
Mark Meuer
Dies ist die Summe, die neben Ihren Zellen "folgen" kann, etwa in der nächsten Spalte. Dann können Sie mit einem IF nur die letzte Summe anzeigen / berechnen. Wahrscheinlich nicht das, wonach Sie suchen, aber gut zu wissen.
Apostolos55
Danke für die Information. Sie haben Recht, dass es das Problem der ursprünglichen Frage nicht löst (bei der speziell nach einer Formel gesucht wird, um die Zahl über der Zelle zu summieren ), aber in anderen Situationen hilfreich sein kann.
Mark Meuer