@ANCESTORS

Esta función obtiene todos los ascendientes de un miembro determinado, o aquellos hasta determinada generación o determinado nivel (el resultado no incluye al miembro especificado).

La estructura de esta función es:

@ANCESTORS(Parte A, Parte B)

Parte A: recoge el miembro del que se quieren obtener sus ascendientes.

Parte B: esta parte es opcional; recoge la generación o el nivel hasta  el que se quiere subir en la obtención de los ascendientes. Se puede indicar con un número (si es positivo define una generación y si es 0 o negativo define un nivel) o con el nombre de la generación o nivel.

El orden en el que obtiene los ascendientes es comenzando por el más cercano al miembro especificado, siguiendo por el siguientes más cercano y así sucesivamente.

Esta función se puede utilizar como parámetro de otra función. Por ejemplo:

@MIN(@ANCESTORS(Parte A, Parte B))

La diferencia con la función @ALLANCESTORS es que la función @ANCESTORS permite limitar hasta que nivel/generación se obtienen los ascendientes.

Veamos un ejemplo:

Partiendo del siguiente outline:

Aplicamos el siguiente cálculo:

Asignamos 10 unidades a los ascendentes de “Tarragona” hasta la tercera generación. El resultado incluye:

  • Cataluña (4ª generación)
  • España (3ª generación)

Y no incluye:

  • Mercados (1ª generación)
  • Europa (2ª generación)

Al hacer la consulta en Excel obtenemos: