In Excel auf eine Zelle der vorherigen Zeile in derselben Tabelle verweisen?

14

Wie kann ich auf die Zelle von verweisen?

  • die ColorSpalte,
  • in der vorherigen Zeile
  • vom selben Tisch,

aus einer Zelle des gleichen Tisches? Wenn möglich, ohne sich auf die absoluten Zeilen- / Spaltennummern des Arbeitsblatts zu verlassen.

Wie [[Color],-1]etwas ...

SuperDuck
quelle

Antworten:

25

Wenn Sie das strukturierte Referenzformat verwenden möchten, versuchen Sie es

=OFFSET([@Colour],-1,0)

Sie können dies auch ohne strukturierte Referenzen tun. Geben Sie beispielsweise in Zeile 2 der Tabelle (der ersten Datenzeile) ein

=D1

... wenn "Farbe" in Spalte D steht. (An Ihre Situation anpassen). Letzteres ist in großen Datenmengen viel schneller, da Offset () flüchtig ist und neu berechnet wird, wenn sich eine Zelle in der Arbeitsmappe ändert. Dies kann die Leistung erheblich beeinträchtigen.

teylyn
quelle
2

Ich erstelle fast immer eine separate Spalte in meiner Tabelle mit dem Namen "I" für den Index, die mit 1,2,3,4 nummeriert ist ... Um dann den vorherigen Wert zu erhalten, verwenden Sie INDEX([Colour],[@I]-1).

Sie können die Spalte auch ab 0 nummerieren und die Formel entsprechend anpassen, da Sie fast immer auf die vorhergehende Zeile zugreifen.

Die flüchtige OFFSETFunktion führt zum Absturz meiner großen Arbeitsmappen. Ich empfehle daher, dies unbedingt zu vermeiden.

user3575270
quelle
Wie erstellen Sie den Index in einer Tabelle, die ständig neue Daten erhält? Manuell? Oder mit einer Formel? Letzteres wäre Fang 22, oder?
Teylyn
@teylyn Ich mache es normalerweise manuell. Dies wird für mich als bevorzugt angesehen, da sich beim Sortieren von Datenindizes nichts ändert. Ich bin sicher, dass Sie mit Formeln kreativ werden können, abhängig von Ihrer Anwendung, z. B. verwenden Sie so etwas wie=ROW()-2
user3575270
1
Wenn Sie zum Erstellen des Index eine Formel verwenden und dann in einer anderen Formel auf diesen Index verweisen, können Sie die Formel für den Index auch in die zweite Formel verschachteln.
Teylyn
Sie könnten verwenden ROW() - ROW([#Headers]) - 1.
Solomon Ucko
2

Ich weiß, dass dies ein alter Beitrag ist, aber genau wie ich jetzt etwas Ähnliches brauchte, bin ich sicher, dass dies später für jemanden hilfreich sein kann. Wenn Sie eine laufende Summe für eine Tabellenspalte ausführen müssen, zum Beispiel:

  • Spalte 1 enthält die "Einkommens" -Daten (positive und negative Werte)
  • Spalte 2 ist der "Saldo" des Kontos

Für jede Zeile müssen Sie den vorherigen Saldo (Spalte 2, vorherige Zeile) und das Einkommen (Spalte 1, aktuelle Zeile) hinzufügen, um den aktuellen Saldo zu berechnen.

Eine Möglichkeit, dies zu tun, besteht darin, diese Formel in Spalte 2 zu verwenden, basierend auf der Antwort von teylyn:

=SUM([@Column1];OFFSET([@[Column2]];-1;0))

Dadurch werden einige Fehler in der ersten Zeile behandelt

PUAR
quelle