Bonjour,

J'utilise le tableur Google Sheets. Dans l'une de mes cellules j'ai créé une formule que je n'arrive pas à simplifier :
=IFERROR( MROUND( 20 / 3 * ( AVERAGE( IF( C2 = 4 ; 3 ; C2 ) ; IF( C3 = 4 ; 3 ; C3 ) ; IF( C4 = 4 ; 3 ; C4 ) ; IF( C5 = 4 ; 3 ; C5 ) ; IF( C6 = 4 ; 3 ; C6 ) ; IF( C7 = 4 ; 3 ; C7 ) ; IF( C8 = 4 ; 3 ; C8 ) ; IF( C9 = 4 ; 3 ; C9 ) ; IF( C10 = 4 ; 3 ; C10 ) ; IF( C11 = 4 ; 3 ; C11 ) ; IF( C12 = 4 ; 3 ; C12 ) ; IF( C13 = 4 ; 3 ; C13 ) ) ) ; 0,25 ) + SUM( IF( C2 = 4 ; 1 ; 0 ) ; IF( C3 = 4 ; 1 ; 0 ) ; IF( C4 = 4 ; 1 ; 0 ) ; IF( C5 = 4 ; 1 ; 0 ) ; IF( C6 = 4 ; 1 ; 0 ) ; IF( C7 = 4 ; 1 ; 0 ) ; IF( C8 = 4 ; 1 ; 0 ) ; IF( C9 = 4 ; 1 ; 0 ) ; IF( C10 = 4 ; 1 ; 0 ) ; IF( C11 = 4 ; 1 ; 0 ) ; IF( C12 = 4 ; 1 ; 0 ) ; IF( C13 = 4 ; 1 ; 0 ) ) ) + C14


Il me faudrait remplacer toutes les répétitions par une boucle (ou une autre solution) qui parserait la plage C2:C13, mais je ne sais comment arriver à mes fins...

Une idée ?
Modifié par Olivier C (29 Aug 2016 - 22:11)
C'est bon, j'ai fini par trouver la solution via la fonction : ARRAYFORMULA().
=IFERROR( MROUND( 20 / 3 * ARRAYFORMULA( AVERAGE( IF( C2:C16 = 4 ; 3 ; C2:C16 ) ) ) ; 0,25 ) + ARRAYFORMULA( SUM( IF( C2:C16 = 4 ; 1 ; 0 ) ) ) + C17)

Modifié par Olivier C (29 Aug 2016 - 22:11)