Hola a todos:
Hace unos días me comentaron que tenía que publicar un poco más sobre formulación en Excel. La verdad es que tienen razón, dado que esta web trata sobre Excel así que hoy trataré sobre fórmulas y sobre una consulta que me llegó hace un par de días.
La consulta estaba relacionada con este post: OBTENER VALOR DE LA ÚLTIMA CELDA DE UNA COLUMNA y me pedían modificar las fórmulas de esa post para que funcionasen en filas. Por lo que, al igual que en el post anterior, voy a indicar aquí cada fórmula:
=DESREF(A5;0;CONTAR(5:5))
Cuando el rango de datos no contiene celdas vacías y la información es numérica. En caso de que la información no sea numérica, podremos cambiar la función CONTAR por CONTARA y a continuación – 1 y funcionará correctamente así:=DESREF(A5;0;CONTARA(5:5)-1)
.=BUSCAR(MAX(5:5)+1;(5:5))
Cuando el rango de datos contenga celdas vacías o el rango sea continuo y la información sea numérica.=INDICE(5:5;MAX(COLUMNA(5:5)*(5:5<>"")))
Fórmula matricial, válida para todos los casos, datos numéricos, texto, con celdas vacías en el rango o información continua.
Como podéis observar, simplemente hay que adaptar los rangos y el funcionamiento será idéntico.
Si necesitáis delimitar los rangos y no utilizar filas completas, por ejemplo de B5:H5, lo tendríais que hacer así:
=DESREF(A5;0;CONTAR(B5:H5))
=DESREF(A5;0;CONTARA(B5:H5))
=BUSCAR(MAX(B5:H5)+1;(B5:H5))
=INDICE(A5:H5;MAX(COLUMNA(B5:H5)*(B5:H5<>"")))
En el caso de la segunda fórmula, y dado que ya no incluimos el literal, no es necesario incluir el -1.
Y esto es todo!, espero que os hayan gustado las fórmulas 🙂
Descarga el archivo de ejemplo pulsando en:
¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.
¡¡Muchas gracias!!
Mediante la suscripción al blog, la realización comentarios o el uso del formulario de contacto estás dando tu consentimiento expreso al tratamiento de los datos personales proporcionados según lo dispuesto en la ley vigente (LOPD). Tienes más información al respecto en esta página del blog: Política de Privacidad y Cookies
MUY BIEN, GRACIAS POR TU APORTACIÓN.
PODRÉ OBTENER VALOR DE LA ÚLTIMA CELDA DE UNA FILA PERO CON DATOS QUE INCLUYA FECHAS, CREO QUE NO FUNCIONÓ.
SALUDOS.
JORGE AHUMADA
Sí podrás:
Solo tienes que usar la última fórmula, válida para todos los casos.
Saludos.
A mi me ha funcionado la tercera fórmula sin problemas para datos con fechas, texto y celdas vacías
Solamente funciona con numeros.
Como lo puedo hacer con texto?
Gracis
Para texto son las fórmulas 2 y 4, es decir, la de contarA y la matricial.
Saludos
Utilizando la matricial, y utilizando un rango, me aparece el error «Función Índice parámetro 3 valor 127 esta fuera de rango». Eso por qué sería?
Debes seleccionar toda la columna o toda la fila, no un rango.
Saludos
Hola amigo gracias, me ha sido de ayuda. había tenido problemas con el conteo de los errores #¡REF! y #¡DIV/0! los cuales también me los leía como datos de celda (algo que no quería); sin embargo al probar con la función DESREF y CONTAR juntas no lee estos errores ni antes ni después, solo lee datos numéricos, solo tuve que cambiar el rango.
Gracias nuevamente. Saludos
Perfecto, gracias!!
Hola Segu, ¡muy buenas las entradas!
Me surge una duda…¿y si quisiera obtener el valor inmediatamente anterior al último? ¿Es esto posible? Lo que pretendo es obtener el último valor (tal y como explicas), el anterior, e incluso el anterior al anterior, para hacer un promedio de los 3…
Saludos y muchas gracias de antemano,
Dani
Para eso utiliza K.Esimo.mayor, donde el 2 es el penultimo
INDICE(5:5;K.ESIMO.MAYOR(COLUMNA(5:5)*(5:5″»);2))
, y el último el 1 y el antepenúltimo el 3.
Saludos
Gracias Segu, he probado lo que me comentabas (sólo faltaba un «» después del tercer 5:5) y he interpretado el resultado obtenido. Lo he entendido, pero quizás no expresé bien mi pregunta anterior. Lo que me gustaría obtener es el valor inmediatamente anterior al último valor del rango.
Me explico un poco más:
Yo tengo un rango que va de A1 a L1 (12 celdas; equivalentes a 12 meses). El primer valor esta en A1 (150) y el último en G1 (200). Ahora mismo están en blanco H1, I1, J1, K1 y L1.
Yo quiero obtener el valor de la celda F1 (190) y de E1. Es decir, los inmediatamente anteriores al último valor del rango en cuestión.
Con el argumento que me enviaste INDICE(A1:L1;K.ESIMO.MAYOR(COLUMNA(A1:L1)*(A1:L1″»);2)) obtengo el valor de la celda K1.
¿Se te ocurre algo?
Por si fuera de interés, las celdas que están en blanco, lo están porque yo quiero que así sea. Es decir, están en blanco porque hay otra celda cuyo valor es 0. Están condicionadas con una fórmula tipo =SI(H20=0;»»;Hoja1!H15).
Envíame un excel con los datos como los tienes y qué es lo que necesitas conseguir. No te pude responder antes pq he estado de vacaciones.
Saludos
¡Muchas gracias! Ha sido rápido y sencillo.
¿En la fórmula =INDICE(5:5;MAX(COLUMNA(5:5)*(5:5″»))) sería posible hacer referencia al rango 5:5 de manera indirecta? Es decir, en vez de usar 5:5 usar referencias a celdas para indicar un rango que puede cambiar. Ejemplo, la celda A1=6 y usar esa celda para indicar el rango 6:6.
No creo que sea posible, dado que hacemos referencia a un rango y e introducir cualquier otro elemento arroja un error de referencia.
Hola disculpa la molestia, cuando el rango seleccionado esta vacio, lo que hace la funcion es pegar el contenido de la fila que no esta en el conteo de la formula (en el ejemplo nº 3 seria) por ejemplo, lo que hace es pegar en la celda donde esta puesta la formula el valor de A5… en mi caso me pega el contenido de varias celdas mas. hay alguna forma deevitar eso?
Buenas tardes,
Para casos en los que esperes tener celdas vacías, debes usar los ejemplos 2 y 3, están precisamente para ese tipo de casos. Los ejemplos 1, están basados en la función contarA y contar que es sensible a las celdas vacías. Saluds.
Se valora muchisimo la velocidad con la que respondes. El problema que me surge, es que las celdas de referencia tienen contenido alfanumerico en este caso y hay dos modelos que no reconocen letras, otros dos que si reconocen, uno de ellos me salta error cuando estan vacias, otro me pega todo el contenido de la fila en la celda donde esta la formula y tambien en las contiguas aunque si las toco me marca que estan vacias.
Hola Tomas,
Para poder responderte con más criterio, necesitaría ver un ejemplo del problema que tienes. Puedes enviar un archivo reproduciendo el error que actualmente experimentas y una breve explicación de qué es lo que quieres conseguir o necesitas. De todas formas, si tienes celdas vacías y el contenido es alfanumérico, solo te servirá el ejemplo 3 (que es matricial y el que soporta todos los casos), ahora bien, tendría que ver el ejemplo para valorar la solución.
Nota: por la semana entre trabajo y familia tengo tiempo muy limitado para responder, trato de hacerlo en cuanto puedo, pero no siempre es así.
Saludos.
Buenos días y gracias anticipadas. Estoy utilizando las fórmulas que dices para obtener la última celda con contenido en una fila. Aunque al evaluar la fórmula veo el resultado correcto, en la celda aparece un cero. ¿Me puedes decir, por favor, qué ocurre?
tendría que ver el ejemplo y la fórmula que estás usando, reproducir el error y dictaminar el problema.