Excel: Suchen Sie für A1 die höchste nachfolgende Zelle vor einer Zelle von <a1 is="" found="" <="" div=""> <div class="body"> <p>Ich habe eine Spalte mit zeitlich schwankenden Preisen in Spalte A, lassen Sie uns den Preis einer bestimmten Aktie für Argumente nennen.</p> <p>In Spalte BI möchte ich wissen, wie hoch der Preis von diesem Zeitpunkt an war, bevor er unter den aktuellen Betrag fiel.</p> <p>Ich denke, ich brauche eine Formel, die alle nachfolgenden Zellen durchläuft, bis eine Zelle &lt;A1 gefunden wird. Von allen Zellen in diesem Bereich wird die höchste ausgegeben.</p> <p>Jede Hilfe wäre sehr dankbar! Vielen Dank :)</p> </div> </a1>

355
Sam J

Ich habe eine Spalte mit zeitlich schwankenden Preisen in Spalte A, lassen Sie uns den Preis einer bestimmten Aktie für Argumente nennen.

In Spalte BI möchte ich wissen, wie hoch der Preis von diesem Zeitpunkt an war, bevor er unter den aktuellen Betrag fiel.

Ich denke, ich brauche eine Formel, die alle nachfolgenden Zellen durchläuft, bis eine Zelle <A1 gefunden wird. Von allen Zellen in diesem Bereich wird die höchste ausgegeben.

Jede Hilfe wäre sehr dankbar! Vielen Dank :)

0
Bitte machen Sie einige Daten und die erwartete Ausgabe und machen Sie diese mit edit in die ursprüngliche Frage. Scott Craner vor 7 Jahren 1
Wenn Sie also die Werte 3, 5, 4, 5, 4, 6, 2, 8, 7, 1 hätten und Ihr 'Trigger'-Wert 8 wäre, wäre die Antwort 6? Dave vor 7 Jahren 0

1 Antwort auf die Frage

0
g.kov

Minimales Arbeitsbeispiel. Angenommen, die Preise sind in C5:C23, dann ist diese Matrixformel in D5:

=MAX(INDIRECT("C"&ROW()&":C"&(ROW()+MATCH(-1,SIGN(C5:$C$23-C5),FALSE)-2))) 

Ergebnisse nach unten kopiert:

Beachten Sie, dass #N/AFehler von Bedeutung sind. Sie signalisieren, dass darunter kein niedrigerer Preis liegt als in der Spalte Clinks von der Zelle mit #N/A.

** Bearbeiten ** Kommentare

Der Schlüsselpunkt ist, eine Zeile mit dem Preis zu finden, der niedriger ist als in der aktuellen Zeile ( C5). Ein "Drop-Index" - die Anzahl der Zeilen von der aktuellen Zeile bis zu der Zeile, in der der Preis niedriger ist. Eine Funktion

=MATCH(-1,SIGN(C5:$C$23-C5),FALSE) 

Gibt die Nummer der Zeile zurück (wobei die aktuelle Zeile gezählt wird 1), für die die erste exakte Übereinstimmung ( -1) im Array gefunden wird, die mit den Zeichen der Differenz zwischen dem Array von Preisen unter ( C5:$C$23) und dem aktuellen Preis ( C5) aufgefüllt wird .

Angesichts dieses "Drop-Index" ist es einfach, vor dem Ablegen eine Textreferenz des Bereichs zu erstellen:

=("C"&ROW()&":C"&(ROW()+MATCH(-1,SIGN(C5:$C$23-C5),FALSE)-2)) 

und dann verwenden Sie INDIRECT(), um diesen Text in eine Referenz umzuwandeln und das gewünschte Maximum mit zu finden MAX().

Brillant! Vielen Dank. Ich versuche nur, meinen Kopf an die Feinheiten Ihrer Antwort heranzuführen, aber ich kann sehen, dass es das tut, was ich will. Sam J vor 7 Jahren 0