Compatibilidad:





Deseamos saber cuál es el valor de la última fila con datos de una columna Excel.
En la columna A se encuentra el nombre de las empresas y en la columna B, la factura emitida. En la Celda E1 deseamos obtener cual es la última factura emitida.
Emplearemos las siguientes funciones, anidándolas:
- Función DESREF. Devuelve un desplazamiento de referencia a partir de una referencia determinada.
- Función MAX. Devuelve el valor máximo de una lista de argumentos.
- Función SI. Especifica un texto lógico para ejecutar.
- Función FILA. Devuelve el número de fila de una referencia.

Ir a: Celda E1. Celda donde obtener la última factura emitida.
Escribir:
=DESREF(B1;MAX(SI(B:B<>"";FILA(B:B)))-1;0)Pulsar la tecla F2, para editar la fórmula
Pulsar la tecla Ctrl y mantenerla pulsada
Pulsar la tecla Mayús y mantener las 2 teclas pulsadas
Pulsar la tecla Enter. Insertará la fórmula entre llaves como matricial {=DESREF(B1;MAX(SI(B:B<>"";FILA(B:B)))-1;0)}.

Así mediante funciones podemos obtener el valor de la última fila con datos de una columna Excel.
Nivel de dificultad:
Excel Avanzado

=BUSCAR(1000000;B:B)
Hace lo mismo, pero es mas sencillo. Pruébenlo.
Hola Claudio,
Como siempre en Excel disponemos de varias maneras de realizar algo.
Gracias por el aporte.
Saludos.
Intente con =BUSCAR(10000, A:A) pero no dio resultado, mi excel esta en ingles y cambien buscar por search y find y no resulto
Hola Pedro,
La función DESREF se traduce como OFFSET en inglés
Saludos.
Mucho más fácil!
Genial, amigo. Muchas Gracias.
Excelente aporte, funciona a la perfección.
TE FELICITO CLAUDIO, ES LA PROPIA
Hola a todos.
Claudio, tu fórmula solamente hace lo mismo si la columna tiene valores numéricos. La fórmula matricial devuelve cualquier cosa que haya en la última celda.
Gracias por el aporte. Me ha resultado muy útil.
Claudio, y si quiero obtener el valor de la primera fila ¿cómo se haría?
Hola Jorge,
La solución es muy sencilla cambia en la fórmula la función MAX por la función MIN. Y aplica la fórmula matricial.
Saludos.
hola a todos.
Y si quiero que me de la ultima y la penultima.
Hay alguna forma.
gracias
Con la penúlima es muy sencilla:
Restas 2 en vez de 1:
=DESREF(B1;MAX(SI(B:B"";FILA(B:B)))-2;0)
Y aplicas la formula matricial
Y en el caso del ultimo valor para una fila determinada como podría escribirse?
comos seria si tiene filas ocultas, que tome solo las que se ven
Hola Juan Carlos,
No es posible siempre al tener la fórmula el rango de toda la columna.
Aplica filtros y ordena.
Saludos.
Agradezco mucho este post! Me ayudó muchísimo!
Saludos desde la Ciudad de México
Me interesa esa fórmula per tengo Office en inglés (políticas de la empres), ¿cual sería el equivalente en inglés?
Hola Javier,
Las funciones son DESREF=OFFSET; MAX=MAX; SI=IF; FILA= ROW.
Saludos.
Me ayudó, muchas gracias!
Muy útil! Muchas gracias
Hola! Una pregunta, usando el mismo ejemplo, pero en lugar de que el resultado me arroje "Factura 108" necesito que me arroje el valor de la izquierda, en este ejemplo "Empresa 11". Se que podría hacerse con un Buscar, pero para lo que yo necesito se pueden repetir los datos de la columna B pero nunca los de la columna A.
Gracias!
Hola Rocio,
Aplica =DESREF(B1;MAX(SI(B:B<>"";FILA(B:B)))-1;-1) Cambiando el 0 final por -1.
Saludos
Pues algo hago yo mal porque a mi no me funciona. yo trato de hacer un historial de personas a las que se les ha prestado un dispositivo y, para no tener que desplazarme siempre hasta la última fila, quisiera que me reflejara este valor en la fila 1 y, aplico esta formula, pero me da valor 0, cuando en la columna de busqueda B tengo valores en cada fila. No entiendo si al ser formula matricial tengo que hacer algo más para que "aplique".
Gracias
Hola Joan,
Lo único es seguir el post según se indica.... Realiza el ejemplo y luego adaptalo a tus necesidades.
Saludos
Disculpen, pero realizo correctamente la combinación de teclas tal cual como se indica: Pulsar la tecla F2, para editar la fórmula / Pulsar la tecla Control y mantenerla pulsada / Pulsar la tecla Mayús. y mantener las 2 teclas pulsadas / Pulsar la tecla Enter. Insertará la fórmula entre llaves como matricial {=DESREF(B1;MAX(SI(B:B"";FILA(B:B)))-1;0)}. Y NO ME RESULTA. AYUDA POR FAVOR
Hola Darwin,
Recuerda que según el idioma (;) cambia a (,) y (") puede cambiar a (').
Saludos.
Buenas tengo un caso a resolver, creo que esta formula es la indicada, pero se me complica adaptarla
En una planilla necesito que en la celda de la columna A me tome el penultimo campo completado de una serie de 7 campos con los mismos datos, el cual representa el resultado del ultimo llamado de un contacto.(el mismo puede tener hasta, en este caso, 7 llamados), es decir que necesito que aparezca el dato de la ultima modificación registrada, como puedo adaptarlo?.
Tengo otro tipo de datos en el mismo rango de la fila como fecha y hs de llamados que no son importantes
Hola Florencia,
Tu planteamiento solo será posible mediante código VBA.
Saludos.
En la Primera B:B le falta a la derecha , , (el menor y mayor) y luego continúan las "", etc etc
=DESREF(B1;MAX(SI(B:B"";FILA(B:B)..........
Chauuu
Hola Juan 1946,
No se lo que deseas realizar, pero la fórmula que tu escribes no es la indicada en el artículo.
Saludos.
Gracias capo, me voy con la matricial!