ARRAYFORMULA et CUMUL

 ARRAYFORMULA et CUMUL

Prenons le cas d'une colonne débit ou d'une colonne crédit, pour sommer la pratique simple est d'effectuer une opération de type nouvelle valeur = valeur précédente + valeur courante

D2=D1+C2 

Or cette façon de faire suppose de tirer la formule vers le bas et ne permet pas d'appliquer une fois pour toutes la fonction globale ARRAYFORMULA.

Il faut pour cela utiliser une multiplication matricielle dont le principe est le suivant :


Il est important de bien respecter le nombre de colonnes de la première matrice et le nombre de lignes de la seconde. Une multiplication d'une matrice de 5x3 (lignes x colonnes) avec une matrice de 3x2 donnera une matrice de 5x2.

Exemple simplifié : 3x3 multipliée par 3x2 donnera donc une matrice de 3 lignes et 2 colonnes

La première matrice est constituée de 1 et 0, les 1 occupant le triangle diagonal inférieur. Prenons le dernier terme, il revient à additionner tous les termes de la seconde matrice.

En remontant les résultats, on trouvera tout simplement le cumul des valeurs.

La difficulté réside donc dans la construction de la première matrice. Celle-ci s'écrira

=arrayformula(1*(transpose(row(A2:A)) <= row(A2:A)))

et le résultat du cumul de valeurs situées colonne C (les espaces sont remplacés par des 0)

=arrayformula(mmult(1*(transpose(row(A2:A))<=row(A2:A));if(C2:C="";0;C2:C)))

à inscrire en D2

Commentaires

Posts les plus consultés de ce blog

INSÉRER UN TABLEAU PROVENANT D'UNE FEUILLE DANS UN COURRIEL

NAVIGUER AU SEIN D'UN FICHIER À L'AIDE D'UN MENU DÉROULANT

METTRE À DISPOSITION DES INFORMATIONS SANS ACCÈS AU FICHIER COMPLET