Bonjour,
Je joins le classeur sur lequel j'ai fait l'essai. La formule utilisée est dans la colonne
E et j'ai décalé en
F les calculs originalement dans cette colonne.
J'avais obtenu les résultats attendus.
Pour l'utilisation de la ligne 2, nous allons regarder la formule pour une ligne
n.
Le numéro d'une ligne donne le nombre de parties + 2 puisque le tableau commence en ligne 3.Le nombre de parties jouées entre les deux dernières parties gagnées,
la première étant notée à une ligne x, la dernière à une ligne y est donnée par la différence y - x.
Si, à une ligne
n, il y a 1 dans la cellule
Cn, il faut donc calculer le nombre de parties jouées depuis la partie gagnée précédente en retranchant à la ligne
n la ligne de la partie gagnée précédente.
Cette ligne est trouvée en utilisant la formule matricielle qu'avait donné
NVCfrm :
{ MAX ( (D3: Dn-1 = 1) * LIGNE(D3: Dn-1)) }. En effet, il faut utiliser cette formule jusqu'à la ligne
n-1.
Ce qui donne comme formule générale :
{ =SI(Dn=0;"";SI(NB.SI($D$3: Dn;1)=1;0;LIGNE()-MAX(LIGNE($D$3n-1)*($D$3n-1=1)))) }
Problème : pour la première cellule
E3,
n prend la valeur 3 et dans ce cas
n-1 prend la valeur 2. La formule devient :
{ =SI(D3=0;"";SI(NB.SI($D$3: D3;1)=1;0;LIGNE()-MAX(LIGNE($D$3: D2)*($D$3: D2=1)))) }
ce que Excel réécrira automatiquement (même si on rentre exactement la formule supérieure dans la barre de formule) :
{ =SI(D3=0;"";SI(NB.SI($D$3: D3;1)=1;0;LIGNE()-MAX(LIGNE(D2:$D$3)*(D2:$D$3=1)))) }
Pas génant et on aurait pu laisser ainsi mais j'ai préféré incorporer la ligne 2 dans la plage ce qui ne gène en rien dans la recherche d'un maximum.
La plage
$D$2: D2 est réduite à la cellule
D2 contenant le texte "
gagné" d'où
D2 = 1 est égal à FAUX (ou 0) et
(D2 = 1)* LIGNE(D2) = 0.
Cordialement
Claude
Partager