Ermitteln eines Nullwerts in einer Spalte und des entsprechenden Werts in der fünften Spalte aus der vorherigen Zeile

1

Ich habe eine Tabelle mit 5 Spalten. Die Zeilen nach einem Punkt haben den Wert Null. Ich muss den Wert der vorherigen Zeile in Spalte 5 abrufen.
Zum Beispiel; hier nach der 4. Reihe wird der gesamte Wert Null. Ich brauche dann den Wert 89, um in einer bestimmten Zelle außerhalb dieser Tabelle zu erscheinen.

Year    Amt1    Amt 2   Amt 3    Amt 5
2012         5       6      17      48
2013        15       0      72      83
2014        25      63       0      12
2015         0      56      75      89
   0         0       0       0       0
   0         0       0       0       0
   0         0       0       0       0
Dheer
quelle
Im Titel Ihrer Frage schreiben Sie über die 3. Spalte und im Text "den Wert der vorherigen Zeile der 5. Spalte"?
duDE
Der Tippfehler wurde behoben
Dheer
Kann es in Spalte 5 vor 89 Nullen geben? Oder vielleicht im Jahr?
Jerry
In Spalte 1 [Jahr] oder in Spalte 5 [Amt 5] werden keine Nullen angegeben. In den anderen Spalten Amt1, 2, 3 können jedoch auch Nullen stehen. Ich benötige also im Wesentlichen den letzten Wert ungleich Null in Spalte 5.
Dheer

Antworten:

3

Eine Formel, die zu dem passt, wonach Sie suchen, lautet wie folgt:

=OFFSET(E2,MATCH(0,E:E,0)-3,0)

E2 ist der erste Wert in Spalte 5 (48)

OFFSET mit der Zelle am Anfang der Spalte und bewegt sich nach unten um MATCH(0,E:E,0)-3.

MATCH(0,E:E,0) Gibt die Zeile zurück, in der das erste Vorkommen von gefunden werden kann 0 (Die Parameter sind: suchen nach 0 in Spalte E:E und verwenden 0 um genaue Übereinstimmung zu bedeuten).

Das -3 Für den Header ist die erste Zelle zu berücksichtigen und da eine Zelle nach oben zu verschieben MATCH gibt die Position von zurück 0, nicht die der Zelle direkt darüber.

Der letzte Parameter in OFFSET gibt an, um wie viele Spalten sich der Bereich bewegen soll, und da wir uns bereits in Spalte E befinden, gibt es in dieser Hinsicht keine Bewegung.


EDIT: Seit der Spalte Year Sind perfekte Nullen (die Spalte 5 enthält sehr kleine Zahlen, die auf 1 gerundet sind), können Sie dies stattdessen verwenden:

=OFFSET(E2,MATCH(0,A:A,0)-3,0)

Grundlegendes zu OFFSET

Angenommen, Sie verwenden die Formel:

=OFFSET(A1, 1, 1)

OFFSET Gibt die Zelle zurück, die sich 1 Zeile darunter und 1 Spalte nach der Zelle befindet A1und bedeutete Zelle B2.

Ähnlich, =OFFSET(A1, 3, 1) wird die Zelle geben B4.

Es gibt tatsächlich mehr Optionen, die Sie haben können OFFSET, nämlich die Höhe und die Breite des resultierenden Bereichs.

=OFFSET(A1, 1, 1, 2, 3)

OFFSET Gibt die Zelle zurück, die sich 1 Zeile darunter und 1 Spalte nach der Zelle befindet A1und bedeutete Zelle B2. Dann ist die Höhe des Ergebnisses 2 und die Breite 3, was bedeutet, dass der Bereich zurückgegeben wird B2:D3 (Wenn Sie diesen Bereich mit der Maus auswählen, sehen Sie, dass er 2 Zellen hoch und 3 Zellen breit ist.) Da dies jedoch ein Array ist, erhalten Sie eine #N/A mit dieser Formel. Sie können mit diesem Array weiterhin Vorgänge ausführen, z VLOOKUP oder INDEX, SUM, usw.

Jerry
quelle
Vielen Dank. Ich hatte den MATCH-Teil herausgefunden, konnte aber die Ofset-Funktion nicht herausfinden. Der Wert in Spalte 5 zeigt zwar Null [berechnetes Feld], ist aber wirklich eine kleine Dezimalzahl ... 5 Nullen nach der Dezimalzahl :). Also ändere das MATCH auf -1 und es gibt mir das gewünschte Ergebnis. Wenn wir anhand der Spalte Year etwas finden, das null ist, wäre es perfekt.
Dheer
Entschuldigung, den Versatz jetzt viel besser herausgefunden zu haben = OFFSET (E2, MATCH (0, A2: A10,0) -3,0)
Dheer
1
@Dheer Ich habe eine ausführlichere Beschreibung dazu beigefügt OFFSET in meiner antwort nur für den fall ^^. Auch wenn Sie bei beginnen A2 In Ihrem Spiel müssen Sie entfernen 2 anstatt 3!
Jerry
Ja, in der Tat, habe die Funktion in die Hand genommen. Vielen Dank.
Dheer