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/A
Fehler von Bedeutung sind. Sie signalisieren, dass darunter kein niedrigerer Preis liegt als in der Spalte C
links 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()
.