Quizás se pregunte si hay alguna forma de devolver el último valor (no el más grande) de una columna. Por ejemplo, si hay valores en A1 a A5, es posible que desee que se devuelva el valor en A5. Posteriormente, si se agregaron valores en A6 a A8, entonces se debe devolver el valor en A8.

Hay un par de formas de abordar una solución. La primera es utilizar una fórmula como la siguiente:

=INDEX(A:A,COUNT(A:A))

Esta fórmula devuelve el último valor numérico de una columna, siempre que los valores comiencen en (en este caso) A1. Este enfoque solo funciona si todos los valores de la columna son numéricos. Si los valores no son numéricos, o si hay celdas en blanco entremezcladas con los valores, entonces es necesario un enfoque diferente. Una forma es copiar la siguiente fórmula en la columna B, justo a la derecha de las celdas que pueden contener valores:

=IF(ISNUMBER(A2),IF(A2<>0,ROW(A2),""),"")

En este caso, la fórmula devuelve el número de fila de cualquier celda en A que contenga un valor numérico mayor que cero. La siguiente fórmula se puede utilizar para recuperar el último valor de la columna A:

=INDEX(A:A,MAX(B:B))

Esta fórmula funciona porque devuelve el número de fila más grande de la columna B, y luego lo usa como índice para devolver el valor correspondiente de la columna A.

Si no desea utilizar una columna auxiliar (como se hace aquí en la columna B), puede utilizar la siguiente fórmula si hay una combinación de valores numéricos y no numéricos en la columna A:

=LOOKUP(2,1/(1-ISBLANK(A:A)),A:A)

Esta fórmula puede necesitar un poco de explicación. La parte ESBLANCO (A: A) devuelve una matriz que enumera un valor FALSO en cada lugar correspondiente a una celda en la columna A que contiene un valor y un valor VERDADERO en cada lugar correspondiente a una celda en la columna A que está en blanco. Estos valores VERDADERO / FALSO luego se restan de 1 para que cambie a valores 0/1 en lugar de valores VERDADERO / FALSO.

Luego, esta matriz se «invierte» dividiendo 1 por los valores 0/1, lo que da como resultado una matriz que contiene un 1 siempre que haya un valor en la columna A y un # DIV / 0. error siempre que la columna A tenga una celda en blanco. Finalmente, la función BUSCAR busca el valor 2 en la matriz. No lo encontrará (solo hay 1 y errores en la matriz), por lo que devuelve el último «1» de la lista y, por lo tanto, obtiene el último valor que no está en blanco de la columna.

Como puede ver, devolver el último valor en una columna puede resultar un poco complicado a veces. Un enfoque limpio es simplemente desarrollar su propia función VBA que devuelva el valor deseado. En este caso, puede programar la función para que devuelva cualquier valor, no solo valores numéricos.

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

Este consejo (9008) 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í:

enlace: / excel-Retrieving_the_Last_Value_in_a_Column [Recuperando el último valor en una columna].