Transposer en colonnes des blocs de données en lignes - via formules - LET & LAMBDA

oguruma

XLDnaute Occasionnel
Suite du sujet comme annoncé dans le post initial ici
transformation de la formule DECALER avec tous ses composants en une fonction LAMBDA en passant par LET.
L'exemple retenu simule une gestion d'entrepôt. Les chiffres aléatoires et non aucun sens. Ils sont là pour alimenter le contenu.
1703078128926.png


Résultat

1703078168170.png


La fonction LET

Code:
=LET(
     Lig;NB_RUBRIQUES_GROUPE*(LIGNE()-LIGNE_DEBUT_DONNEES);
     Col;COLONNE()-COLONNE_DEBUT_DONNEES;
     Item;DECALER(INFO_DEPART;Lig+Col;0;1;1);
     SI(Item=0;"";Item))

Combinaison de la fonction LET + LAMBDA
Code:
=__DEGROUPE(NB_RUBRIQUES_GROUPE;LIGNE_DEBUT_DONNEES;COLONNE_DEBUT_DONNEES;INFO_DEPART)

Code:
=LAMBDA(pNBRUB;pDEBUT_LIG;pDEBUT_COL;pINFO_DEPART;LET(Lig;pNBRUB*(LIGNE()-pDEBUT_LIG);Col;COLONNE()-pDEBUT_COL;Item;DECALER(pINFO_DEPART;Lig+Col;0;1;1);SI(Item=0;"";Item)))

Paramétrage
1703078432268.png
 

Pièces jointes

  • Transpose_Blocs_Lignes_Colonnes_V2.xlsm
    37.7 KB · Affichages: 3

Statistiques des forums

Discussions
313 320
Messages
2 097 135
Membres
106 848
dernier inscrit
toufk