Kirk tiene una gran tabla de datos en Excel. Cada fila tiene un número de vehículo, fecha (la tabla está ordenada por esta columna), kilometraje inicial y kilometraje final. Le gustaría buscar hacia atrás a través de la tabla de datos para encontrar el millaje final para el mismo número de vehículo para usar como millaje inicial en la fila actual, similar a BUSCARV, pero mirando de abajo hacia arriba en lugar de de arriba hacia abajo.

Hay varias formas de abordar esto con una fórmula. Suponga, para este ejemplo, que el número de vehículo está en la columna A, la fecha en la columna B, el kilometraje inicial en la columna C y el kilometraje final en la columna D.

Lo que necesita es una fórmula que puede poner en la columna C que busca el millaje final más reciente para el vehículo actual. La siguiente fórmula proporciona un enfoque; debes colocarlo en la celda C3:

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

Puede copiar la fórmula en la columna tanto como lo necesite. Si el número de vehículo, en la columna A, no apareció antes en la tabla de datos, entonces la fórmula devolverá un error como # ¡VALOR! o # N / A. En ese caso, puede escribir fácilmente la fórmula con el kilometraje inicial que desea utilizar para el vehículo.

Aquí hay otro enfoque de fórmula, pero este debe ingresarse como una fórmula de matriz (presionando Ctrl + Shift + Enter):

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

Nuevamente, coloque la fórmula en la celda C3 y cópiela tanto como sea necesario.

Éste no devuelve un valor de error si el vehículo no ha aparecido antes en la tabla de datos; devuelve un valor de 0. A continuación, puede escribir la fórmula con el kilometraje inicial real para ese vehículo. También se podría utilizar la siguiente fórmula de matriz:

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

La diferencia con esta fórmula de matriz es que si el vehículo no ha aparecido antes en la tabla de datos, devuelve un #REF. error.

Aquí hay dos fórmulas de matriz que son aún más cortas que puede usar en C3 (y, nuevamente, copiar según sea necesario):

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

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

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (11745) se aplica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 y Excel en Office 365. Puede encontrar una versión de este consejo para la interfaz de menú anterior de Excel aquí:

link: / excel-Looking_Backward_through_a_Data_Table [Mirando hacia atrás a través de una tabla de datos].