18 septiembre, 2021

OBTENER VALOR DE LA ÚLTIMA CELDA DE UNA FILA

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.

Donate Button with Credit Cards

¡¡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

Comparte este post

14 comentario en “OBTENER VALOR DE LA ÚLTIMA CELDA DE UNA FILA

  1. 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

  2. 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?

  3. 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

  4. 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

    1. 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

      1. 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?

        1. 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).

          1. 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

Si te ha gustado o tienes alguna duda, puedes dejar aquí tu comentario.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies