Recuperación del último valor en una columna (Microsoft Excel)
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 su rango de datos contiene una mezcla de valores numéricos y no numéricos (y, quizás, incluso algunas celdas en blanco entremezcladas en el rango), entonces podría considerar la siguiente fórmula:
=LOOKUP(2,1/(1-ISBLANK(A:A)),A:A)
La forma en que funciona esta fórmula puede no ser evidente al principio. La parte ESBLANCO devuelve una matriz que contiene un valor Verdadero o Falso para cada celda de la columna A, dependiendo de si esa celda está en blanco o no. Ese valor Verdadero o Falso (que en realidad es un 1 o 0) se resta de 1 para terminar con los valores Verdaderos siendo 0 y los valores Falso siendo 1.
El siguiente paso es usar los valores 1 o 0 como dividendo en 1 / x. ¡Esto efectivamente «invierte» el valor y termina con 1 (1/1) o un # DIV / 0! error (1/0). Recuerde que esta es una matriz que luego se usa como parámetro para la función BUSCAR. Lo que se busca en la matriz es el valor 2, que no existe allí. (Recuerde que la matriz contiene solo los valores 1 o un valor de error). La función BUSCAR en realidad ignora todos los valores de error en la matriz, por lo que devuelve el desplazamiento, dentro del rango A: A, del último elemento de la matriz que contiene un valor de 1. Esto corresponde a la última celda del rango que no está en blanco.
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. Un buen ejemplo de tal función está disponible en el sitio web de John Walkenbach. Mira lo siguiente:
http://spreadsheetpage.com/index.php/tip/determining_the_last_non_empty_cell_in_a_column_or_row/
ExcelTips es su fuente de formación rentable en Microsoft Excel.
Este consejo (2512) se aplica a Microsoft Excel 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Excel (Excel 2007 y posterior) aquí:
link: / excelribbon-Retrieving_the_Last_Value_in_a_Column [Recuperando el último valor en una columna]
.