Kirk hat eine große Datentabelle in Excel. Jede Zeile hat eine Fahrzeugnummer, ein Datum (die Tabelle ist nach dieser Spalte sortiert), den Anfangskilometerstand und den Endkilometerstand. Er möchte die Datentabelle rückwärts durchsuchen, um den Endkilometerstand für dieselbe Fahrzeugnummer zu finden, die als Anfangskilometerstand in der aktuellen Zeile verwendet werden soll – ähnlich wie bei VLOOKUP, jedoch von unten nach oben und nicht von oben nach unten.

Es gibt verschiedene Möglichkeiten, wie Sie dies mit einer Formel angehen können. Angenommen, in diesem Beispiel befindet sich die Fahrzeugnummer in Spalte A, das Datum in Spalte B, der Startkilometerstand in Spalte C und der Endkilometerstand in Spalte D.

Was Sie brauchen, ist eine Formel, die Sie in Spalte C einfügen können und die den letzten Endkilometerstand für das aktuelle Fahrzeug anzeigt. Die folgende Formel bietet einen Ansatz; Sie sollten es in Zelle C3 platzieren:

=LOOKUP(2,1/FIND(A3,A$2:A2,1),D$2:D2)

Sie können die Formel so weit wie nötig in die Spalte kopieren. Wenn die Fahrzeugnummer in Spalte A nicht früher in der Datentabelle angezeigt wurde, gibt die Formel einen Fehler wie #VALUE zurück! oder # N / A. In diesem Fall können Sie die Formel einfach mit dem Startkilometer eingeben, den Sie für das Fahrzeug verwenden möchten.

Hier ist ein anderer formelhafter Ansatz, aber dieser sollte als Array-Formel eingegeben werden (durch Drücken von Strg + Umschalt + Eingabetaste):

=IF(A3="","",MAX(IF(($A$2:A2=A3)*($D$2:D2),$D$2:D2)))

Platzieren Sie die Formel erneut in Zelle C3 und kopieren Sie sie so weit wie nötig nach unten.

Dieser gibt keinen Fehlerwert zurück, wenn das Fahrzeug nicht früher in der Datentabelle aufgeführt ist. Es wird ein Wert von 0 zurückgegeben. Anschließend können Sie die Formel mit dem tatsächlichen Startkilometerstand für dieses Fahrzeug überschreiben. Die folgende Array-Formel könnte ebenfalls verwendet werden:

=IF(A3="","",INDIRECT("D"&LARGE(($A$2:A3=A3)*ROW($2:3),2)))

Der Unterschied zu dieser Array-Formel besteht darin, dass, wenn das Fahrzeug nicht früher in der Datentabelle angezeigt wurde, ein #REF zurückgegeben wird! Error.

Hier sind zwei noch kürzere Array-Formeln, die Sie in C3 verwenden können (und bei Bedarf erneut kopieren können):

=MAX((D$2:D2)*(--(A$2:A2=A3)))

=MAX(IF(A$2:A2=A3,D$2:D2))

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (11745) gilt für Microsoft Excel 2007, 2010, 2013, 2016, 2019 und Excel in Office 365. Eine Version dieses Tipps für die ältere Menüoberfläche von Excel finden Sie hier: