Formule pour le nombre d'itérations d'une autre formule

Choops

XLDnaute Occasionnel
Bonjour à tous, je voulais savoir s'il était possible dans excel d'indiquer dans une case une constante (par exemple 5 pour indiquer le nombre de fois qu'il faut "doubler le résultat précédent") pour que le tableur me calcule dans une autre cellule un résultat du type 10*2 (1ère itération) +10*2*2 (2e itération) + 10*2*2*2 (3e itération) + 10*2*2*2*2 (4 itération) + 10*2*2*2*2*2 (5e itération) , 10 étant une autre constante, ma valeur de départ.

Est-ce possible ?
Merci !
 

Choops

XLDnaute Occasionnel
Merci mapomme ! C'était bien le 2e résultat (bleu), maintenant je vais essayer de comprendre car j'aime pas les choses que je comprends pas :D
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re,
maintenant je vais essayer de comprendre
Le plus simple, à mon avis, est d'utiliser la touche de fonction <F9> :
  • saisir 3 dans la cellule B2
  • sélectionner la cellule F2
  • se placer dans la barre de d'édition de la formule
  • sélectionner le texte LIGNE(INDIRECT("1:"&B2))
  • tapez sur la touche de fonction <F9> (on obtient la matrice {1;2;3})
  • sélectionner ensuite le texte PUISSANCE(2;{1;2;3})
  • tapez sur la touche de fonction <F9> (on obtient la matrice {2;4;8})
  • sélectionner ensuite le texte SOMME({2;4;8})
  • tapez sur la touche de fonction <F9> (on obtient la matrice 14)
  • etc...
pour sortir du mode calcul de la barre de formule et revenir à la formule de départ, tapez sur la touche Esc

Ou plus simplement, se placer dans F2, choisir le menu Formules / Évaluation de formule. Dans la boite de dialogue qui s'ouvre, cliquer sur le bouton Évaluer.
 
Dernière édition:

Choops

XLDnaute Occasionnel
Merci beaucoup, c'est le =LIGNE(INDIRECT que j'ai du mal à comprendre et qui est la solution à ce que je cherchais. J'ai lu les explication intégrée à Office en long large et en travers et je ne comprends pas le résultat {1;2;3} pourquoi est-ce que ça ne fait pas 3 tout simplement ?
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re,

ne comprends pas le résultat {1;2;3} pourquoi est-ce que ça ne fait pas 3 tout simplement ?
C'est l'effet de la formule matricielle (formule validée par Ctrl+Maj+Entrée).
Ligne(plage) est une fonction qui renvoie le numéro de la première ligne de la plage quand on valide de manière normale (touche entrée)

Ligne(plage) est une fonction qui renvoie une matrice comportant le numéro de chaque ligne de la plage quand on valide de manière matricielle (touches Ctrl+Maj+Entrée)

Ligne(A1:A3) validée normalement renvoie le nombre 1
Ligne(A1:A3) validée matriciellement renvoie la matrice {1;2;3}

Dans notre formule, on utilise INDIRECT("1:"&B2). Si B2 vaut 3, alors INDIRECT("1:"&B2) devient INDIRECT("1:3"). INDIRECT("1:3") référence les lignes 1 à 3.

Si maintenant, on applique aux lignes 1 à 3 la fonction LIGNE de manière matricielle, on obtient la matrice {1;2;3}. Donc LIGNE(INDIRECT("1:"&B2)) renvoie la matrice {1;2;3}. Si on avait validé normalement la formule, LIGNE(INDIRECT("1:"&B2)) aurait renvoyé le nombre 1 seulement.

PUISSANCE(2, n) calcule 2^n. Si on remplace n par une matrice, PUISSANCE va calculer les puissances pour chacun des termes de la matrice et les renvoyer dans une matrice.
PUISSANCE(2, {1;2;3}) va renvoyer la matrice {2;4;8} (parce qu'on a validé la formule matriciellement)
 
Dernière édition:

Choops

XLDnaute Occasionnel
Merci beaucoup pour ces explications détaillées, je n'avais pas compris notamment qu'en validant LIGNE(plage) on obtenait le numéro de la première ligne de la plage et non le nombre de lignes de cette plage.
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas