Re : Comprendre une formule
Bonjour,
Essai d'explication :
L'objet de la formule :
Ecrire une seule formule, pouvant être copiée vers le bas et vers la droite dans le tableau E2
16, qui renvoie en boucle les valeurs de A2:A16 en les décalant d'une ligne (A2, A3, A4, ...) à chaque changement de ligne et de colonne dans le tableau.
En boucle, c'est à dire qu'après la valeur de A16 on reprend les valeurs de A2, A3, A4, ...
La formule :
=DECALER($A$2;E$1+LIGNES(E$2:E2)-2-(E$1+(LIGNES(E$2:E2)-2)>14)*15; )
La fonction :
=DECALER(réf;lignes;colonnes;[hauteur];[largeur])
Les deux derniers arguments (hauteur et largeur) sont facultatifs et ne sont pas employés sous la formule
réf : $A$2 → la cellule à partir de laquelle le décalage est effectué
lignes : E$1+LIGNES(E$2:E2)-2-(E$1+(LIGNES(E$2:E2)-2)>14)*15 → voir explication ci-dessous
colonnes : ; ) (sans l'espace) → rien, par défaut Excel l'interprète comme étant égal à 0.
E$1+LIGNES(E$2:E2)-2
E$1 : =1 (voir format de la cellule : "Ch. n°"0)
ne s'incrémente pas en copiant vers le bas, mais bien en copiant vers la droite (F$1=2)
LIGNES(E$2:E2) : =1
s'incrémente en copiant vers le bas (LIGNES(E$2:E3)=2), mais pas en copiant vers la droite (LIGNES(F$2:F2)=1)
En additionnant ces deux valeurs on obtient 2 en E2, ... , 4 en F3, ...
-2 : en E2 il faut obtenir 0 (on décale A2 de 0 lignes pour renvoyer "aaa"), il faut donc soustraire 2 pour obtenir le résultat.
En replaçant dans la formule globale A$2 par C$2 c'est plus parlant.
-(E$1+(LIGNES(E$2:E2)-2)>14)
Lorsque le résultat obtenu est <=14 cette partie de formule renvoie FAUX ou 0 et la multiplication renvoie 0, lorsqu'elle est >14 elle renvoie VRAI ou 1 et la multiplication renvoie 15, à soustraire, donc en recommence à renvoyer la valeur de A2.
Cette partie de formule aurait pu être écrite comme suit :
-(E$1+(LIGNES(E$2:E2))>16)
J'espère avoir été clair dans mon explication.