Première étape, la tranche d’âge de chaque salarié, calculée dans le tableau source : PLANCHER([@Age] ; 10) & " - " & PLAFOND([@Age] ; 10) & " ans" transforme 27 en « 20 - 30 ans ». La liste des tranches s’obtient ensuite d’une seule formule : TRIER(UNIQUE(tbl_Data[Tranche d''âge]) ; ; 1).
Le décompte par sexe et par tranche se fait avec NB.SI.ENS, par exemple NB.SI.ENS(tbl_Data[Genre] ; C$4 ; tbl_Data[Tranche d''âge] ; $B5), recopiée sur les colonnes Homme et Femme. L’astuce tient dans une troisième colonne qui reprend l’un des deux effectifs en négatif (=-D5) : ce sont ces barres qui partiront de l’autre côté de l’axe.
Le graphique est un graphique à barres empilées. Dans les options des séries, la superposition passe à 100 % et la largeur de l’intervalle à 0 : les barres se touchent et dessinent la pyramide. Les étiquettes de l’axe vertical passent en position Bas pour sortir du milieu du graphique. Pour que les étiquettes de données n’affichent pas de signe moins, on les lit dans la colonne positive avec l’option Valeur à partir des cellules.