2010-08-23 15 views

Antwort

59

Um dieses Problem in Excel zu lösen, würde ich normalerweise nur die literale Reihennummer der Zelle oben eingeben, z. B. wenn ich in Zelle A7 eingeben, würde ich die Formel =A6 verwenden. Wenn ich dann diese Formel in andere Zellen kopiere, würden sie auch die Zeile der vorherigen Zelle verwenden.

Eine andere Option ist die Verwendung Indirect(), die löst die literale Anweisung im Inneren zu einer Formel.

=INDIRECT("A" & ROW() - 1) 

Die obige Formel wird lösen, um den Wert der Zelle in Spalte A und der Zeile, die man als die der Zelle weniger ist, die die Formel enthält: Sie könnte so etwas wie zu verwenden.

+0

Danke, das ist es! – Bliznak

+0

tolle Sachen verwendet, um Diff Hervorhebung zu erstellen –

+1

Diese Antwort ersparte mir eine Menge Ärger, +1: D –

1

Ich folgte BEN und Danke und Lot für die Antwort, also habe ich seine Idee verwendet, um meine Lösung zu bekommen, ich poste das gleiche, also wenn jemand andere ähnliche Anforderungen hat, dann kannst du auch meine Lösung verwenden, Meine Anforderung war etwas wie ich die Summe der gesamten Daten von der ersten Zeile bis zur letzten Zeile erhalten möchte, und ich erzeugte die Tabelle programmatisch so nicht und kann die Zeilennamen in der Summe nicht fest codieren, da die Daten immer dynamisch sind und die Anzahl der Zeilen ist niemals konstant. Meine Formel war so etwas wie folgt.

=SUM(B1:INDIRECT("B"&ROW()-4)) 
+2

Bitte denken Sie darüber nach, Ihre Antwort so zu bearbeiten, dass sie nur die ursprüngliche Frage beantworten würde (viele Details könnten einfach weggelassen werden) – arghtype

7

Diese Formel erfordert keine Zeilennummer ("A", "B" usw.). Es gibt den Wert der Zelle eine Zeile darüber in der gleichen Spalte zurück.

=INDIRECT(ADDRESS(ROW()-1,COLUMN())) 
+0

Ich konnte Zeilenindizes (Nummerierung) erstellen, indem Sie in der ersten Zeile ein Literal "1" eingeben und dann die Formel verwenden oben, modifiziert mit einem "+ 1" in den restlichen Feldern direkt darunter. Es funktioniert perfekt! '= INDIREKT (ADRESSE (ZEILE() - 1, SPALTE())) + 1 ' –

0

einfacher Weg für mich ist zu R1C1 Notation wechseln und nur R[-1]C1 zu verwenden und wechseln Sie wieder, wenn Sie fertig.

0

Sie können auch verwenden, wenn Sie sich in einer benannten Tabelle befinden.

Verwandte Themen