Forum Discussion

a7024782's avatar
a7024782
Copper Contributor
Nov 03, 2023
Solved

Rangos dinamicos en camo autocalculado de tabla

En excel 2016 tengo una tabla, requiero una formula que calcule el promedio de las ultimas 8 filas de la columna N, a partir de la fila N9 y registre el resultado en O9, esto en una hoja de excel lo haria asi: =average(n2:n9), igualmente lo puedo hacer en la tabla, pero si quiero que el campo O de la tabla sea autocalculado, es donde se presenta el problema, porque para que sea asi debo copiar =average(n2:n9) en o2, y esto trae como consecuencia un desplazamiento de rangos, ademas de dar error en las filas b2:b8. Es decir no me vale usar referencias explicitas al rango. Se puede hacer algo con formulas? UDF? Macros? Gracias de antemano

 

  • a7024782 

    Para lograr un rango dinámico en un campo autocalculado de una tabla en Excel, puedes utilizar una fórmula de tabla estructurada que se adapte automáticamente a medida que agregas filas de datos. Puedes usar la función INDICE junto con CONTAR para calcular el promedio de las últimas 8 filas en la columna N sin necesidad de referencias explícitas al rango.

    Suponiendo que tu tabla comienza en la fila 2, aquí tienes cómo podrías hacerlo en la celda O2 de la tabla:

    =IF(ROW() - ROW($O$2) >= 9, AVERAGE(INDEX([N], ROW() - 8):INDEX([N], ROW())), "")

    Explicación de la fórmula:

    • ROW() - ROW($O$2) calcula la diferencia entre la fila actual y la fila en la que se encuentra la celda O2. Esto proporciona un número que aumenta a medida que te desplazas hacia abajo en la tabla.
    • INDEX([N], ROW() - 8):INDEX([N], ROW()) crea un rango dinámico que abarca desde 8 filas antes de la fila actual hasta la fila actual en la columna N. Esto asegura que siempre se promedien las últimas 8 filas.
    • La función AVERAGE calcula el promedio de las celdas dentro de ese rango.
    • La fórmula utiliza una condición IF para verificar si el número de filas es mayor o igual a 9 (lo que significa que hay suficientes filas para calcular el promedio). Si es cierto, se calcula el promedio; de lo contrario, se muestra una cadena vacía ("").

    Esta fórmula se adaptará automáticamente a medida que agregues más filas a la tabla y calculará el promedio de las últimas 8 filas en la columna N en función de la fila actual de la celda O. El texto y los pasos se editaron con la ayuda de IA.

    El autor de este texto no habla este idioma, el texto fue traducido mediante software, puede haber errores gramaticales y/o de expresión.

     

    ¡Mis respuestas son voluntarias y sin garantía!

     

    Espero que esto te ayudará.

    ¿Fue útil la respuesta? Marca como mejor respuesta y dale me gusta!

    Esto ayudará a todos los participantes del foro.

2 Replies

  • NikolinoDE's avatar
    NikolinoDE
    Gold Contributor

    a7024782 

    Para lograr un rango dinámico en un campo autocalculado de una tabla en Excel, puedes utilizar una fórmula de tabla estructurada que se adapte automáticamente a medida que agregas filas de datos. Puedes usar la función INDICE junto con CONTAR para calcular el promedio de las últimas 8 filas en la columna N sin necesidad de referencias explícitas al rango.

    Suponiendo que tu tabla comienza en la fila 2, aquí tienes cómo podrías hacerlo en la celda O2 de la tabla:

    =IF(ROW() - ROW($O$2) >= 9, AVERAGE(INDEX([N], ROW() - 8):INDEX([N], ROW())), "")

    Explicación de la fórmula:

    • ROW() - ROW($O$2) calcula la diferencia entre la fila actual y la fila en la que se encuentra la celda O2. Esto proporciona un número que aumenta a medida que te desplazas hacia abajo en la tabla.
    • INDEX([N], ROW() - 8):INDEX([N], ROW()) crea un rango dinámico que abarca desde 8 filas antes de la fila actual hasta la fila actual en la columna N. Esto asegura que siempre se promedien las últimas 8 filas.
    • La función AVERAGE calcula el promedio de las celdas dentro de ese rango.
    • La fórmula utiliza una condición IF para verificar si el número de filas es mayor o igual a 9 (lo que significa que hay suficientes filas para calcular el promedio). Si es cierto, se calcula el promedio; de lo contrario, se muestra una cadena vacía ("").

    Esta fórmula se adaptará automáticamente a medida que agregues más filas a la tabla y calculará el promedio de las últimas 8 filas en la columna N en función de la fila actual de la celda O. El texto y los pasos se editaron con la ayuda de IA.

    El autor de este texto no habla este idioma, el texto fue traducido mediante software, puede haber errores gramaticales y/o de expresión.

     

    ¡Mis respuestas son voluntarias y sin garantía!

     

    Espero que esto te ayudará.

    ¿Fue útil la respuesta? Marca como mejor respuesta y dale me gusta!

    Esto ayudará a todos los participantes del foro.

    • a7024782's avatar
      a7024782
      Copper Contributor

      NikolinoDEgracais por la respuesta, finalmente encontre la solucion por esa via usando offset.

Resources