Buscar el último valor en una columna o fila – Excel
Este tutorial le enseñará cómo buscar el último valor en una columna o fila en Excel.
Último Valor en la Columna
Puedes utilizar la función BUSCAR para encontrar la última celda no vacía de una columna.
=BUSCAR(2,1/(B:B<>""),B:B)
Veamos esta fórmula. La parte de la fórmula B:B<>»» devuelve una matriz que contiene valores Verdaderos y Falsos: {FALSO, VERDADERO, VERDADERO,…}, comprobando que cada celda de la columna B está en blanco (FALSO).
=BUSCAR(2,1/({FALSO;VERDADERO;VERDADERO;VERDADERO;VERDADERO;FALSO;...),B:B)
Estos valores booleanos se convierten en 0 o 1 y se utilizan para dividir 1.
=BUSCAR(2,{#DIV/0!;1;1;1;1;#DIV/0!;,B:B)
Este es el vector de búsqueda para la función BUSCAR. En nuestro caso, el valor de búsqueda es 2, pero el valor más grande en el vector de búsqueda es 1, por lo que la función BUSCAR coincidirá con el último 1 en la matriz y devolverá el valor correspondiente en el vector de resultados. Si está seguro de que sólo tiene valores numéricos en su columna, sus datos comienzan en la fila 1 y su rango de datos en continuo, puede utilizar una fórmula un poco más simple con las funciones INDICE y CONTAR.
=INDICE(B:B,CONTAR(B:B))
La función CONTAR devuelve el número de celdas llenas de datos en el rango continuo (4) y la función INDICE da así el valor de la celda en esta fila correspondiente (4ª). Para evitar posibles errores cuando tu rango de datos contiene una mezcla de valores numéricos y no numéricos, o incluso algunas celdas en blanco, puedes utilizar la Función BUSCAR junto con las funciones ESBLANCO y NO.
=BUSCAR(2,1/(NO(ESBLANCO(B:B))),B:B)
La función ESBLANCO devuelve una matriz que contiene valores Verdaderos y Falsos, correspondientes a 1 y 0. La función NO cambia Verdadero (es decir, 1) por Falso y Falso (es decir, 0) por Verdadero. Si invertimos este array resultante (al dividir 1 por este array), obtenemos un array resultante que contiene de nuevo errores #DIV/0! y 1’s, que puede ser utilizado como array de búsqueda (lookup_vector) en nuestra Función BUSCAR. La funcionalidad de la función BUSCAR es entonces la misma que en nuestro primer ejemplo: devuelve el valor del vector de resultados en la posición del último 1 del array de búsqueda. Cuando necesite que se devuelva el número de fila con la última entrada, puede modificar la fórmula utilizada en nuestro primer ejemplo junto con la Función FILA en su vector_resultado.
=BUSCAR(2,1/(B:B<>""),FILA(B:B))
Último valor de la fila
Para obtener el valor de la última celda no vacía en una fila llena de datos numéricos, puede utilizar un enfoque similar pero con diferentes funciones: la Función DESREF junto con las funciones COINCIDIR y MAX.
=DESREF(Referencia, Filas, Columnas)
=DESREF(B2,0,COINCIDIR(MAX(B2:XFD2)+1,B2:XFD2,1)-1)
Veamos cómo funciona esta fórmula.
Función COINCIDIR
Utilizamos la función MATCH para «contar» cuántos valores de las celdas son menores de 1 + el máximo de todos los valores de la fila2 a partir de B2.
=COINCIDIR(valor_de_busca, matriz_de_busca, [tipo_de_coincidencia])
=COINCIDIR(MAX(B2:XFD2)+1,B2:XFD2,1)
El valor_de_busca de la función COINCIDIR es el máximo de todos los valores de la fila2 + 1. Puesto que este valor obviamente no existe en la fila2 y el tipo de coincidencia se establece en 1 (menor o igual que valor_de_busca), la función COINCIDIR devolverá la posición de la última celda «comprobada» en la matriz, es decir, el número de celdas rellenadas con datos en el rango de B2:XFD2 (XFD es la última columna en las versiones más recientes de Excel).
Función DESREF
A continuación, utilizamos la función DESREF para obtener el valor de esta celda, cuya posición fue devuelta por la función COINCIDIR.
=DESREF(B2,0,C4-1)