Bonjour et merci d'avance à ceux qui pourront m'aider, voilà pour des besoins statistiques j'ai besoin de faire une somme de valeur sur les 10 derniers jours pour lesquels j'ai un paramètre valide. C'est à dire que pour le jour J je vais chercher les 10 derniers jour portant par exemple un paramètre 'OUI' et faire la somme des valeurs correspondant à ces 10 derniers jours. Un petit exemple valant mieux qu'un long discours, ci joint un fichier d'exemple.
Merci, mais je ne comprends pas bien comment cela fonctionne et dans mon exposé j'ai fait une inversion le paramètre est non donc j'inverse en mettant :
Code:
[en B4] =SOMMEPROD((B1:X1>AUJOURDHUI()-11)*(B1:X1<AUJOURDHUI()+1)*(B3:X3='NON')*(B4:X4))
[en C4]
=SOMMEPROD((C1:Y1>AUJOURDHUI()-11)*(C1:Y1<AUJOURDHUI()+1)*(C3:Y3='NON')*(C4:Y4))
et ainsi de suite
En B4 j'ai comme résultat 633 alors que le 01/09/2005 est marqué à OUI donc à ne pas prendre en compte si je cherche les 10 derniers jours avant le 01/09/2005 (compris) portant le Flag OUI je n'en ai pas donc résultat = 0 pour le 02/09 j'ai 20 le 01/09 etant à NON et par exemple pour le 20/09 j'ai :
20/09 (NON,14) donc => 14 à prendre en compte et compteur à 1
19/09 (OUI,13) donc à ne pas prendre en compte, compteur reste à 1
18/09 (NON,12) donc => 12 à prendre en compte et compteur à 2
17/09 (NON,11) donc => 11 à prendre en compte et compteur à 3
16/09 (NON,10) donc => 10 à prendre en compte et compteur à 4
15/09 (OUI,32) pas pris compteur reste à 4
14/09 (OUI, ) pas pris compteur reste à 4
13/09 (OUI,2) pas pris en compte compteur reste à 4
12/09 (NON,52) donc => 52
et ainsi de suite jusqu'à ce que mon compteur de boucle soit à 10 et je fais la somme des valeurs à prendre en compte.
Au final on a U3 :
Code:
=U2+S2+R2+Q2+M2+L2+J2+H2+G2+F2
soit la somme des 10 précédents (jour courant inclus) pour lesquels EXCLU = 'NON'
J'ai mis un bon bout de temps avant de comprendre ce qui désirais réaliser !
Ce n'est pas la somme des dix derniers jours, mais bien des dix dernières dates (avec 'NON' en ligne 3).
Ce n'est pas la somme de la ligne 4, mais bien de la ligne 2.
C'est effectivement ce qui et hard à trouver et je ne vois pas du tout comment faire à par peut être en ecrivant une fonction vba sui gère un compte mais là mes connaissances sont quasi nulles.
J'ai fait une petite usine à gaz : ça marche à condition de trouver le premier jour à partir duquel on peut faire le calcul (ie : le premier jour avec 10 NON avant) et de compter le nombre de valeur qu'il a fallu prendre pour y arriver : ensuite on compte les NON qu'on perd et ceux qu'on gagne en changeant de colonne et on décale.
je pense qu'on doit pouvoir mettre cette donnée obtenue presque 'à la main' dans la formule mais je voudrais pas passer la nuit au bureau.
je vous le fait voir dans l'état, mais j'essayerai de le reprendre à la maison.
Les 'Non' sont des valeurs numériques, 1, 2, 3, etc
Format nombre 'NON'
(Les 'Oui' restent du texte)
Pour avoir toujours les 10 derniers 'non' :
=SOMMEPROD((ligne des 'non'>=NB.SI(ligne des 'non';'>'&0)-9)*(ESTNUM(les 'non'))*data)
[file name=SommecondCyc.zip size=7657]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/SommecondCyc.zip[/file]
Je comprends la solution de JJ59 qui n'est pas si éloignée de la mienne. :unsure:
Je le savais que j'avais encore pondu une usine à gaz, mais à ce point là j'aurais pas cru !
Je me doutais bien que Monique viendrait faire un petit tour sur ce post et, comme toujours, sa solution est d'une concision diabolique :evil:
Le comptage des NON: très sioux !
Le NB.SI....-9 : pur génie
et le sommeprod des >= NB.SI : même dans Matrix ils n'y auraient pas pensé ! Monique, avoue : tu es une extraterrestre !