Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Un petit peu d'aide pour une matricielle

3 réponses
Avatar
ThierryP
Bonjour le forum,
Le soleil revenant, mes quelques neurones survivants commencent =C3=A0 gril=
ler ! Donc, j'ai besoin d'un coup de main sur une matricielle :

Dans une feuille "Cdes", j'ai une colonne nomm=C3=A9e "Ventes", dans laquel=
le chaque cellule peut avoir comme valeur :
- vide
- @
- 03/16 (mois/ann=C3=A9e)

Dans une feuille "Ventes", je souhaite connaitre le nombre vendu par mois, =
donc 12 cellules de A =C3=A0 L, avec en ligne 1 les mois (01/16, 02/16... a=
vec affichage mmmm). La fonction MOIS me renvoie le N=C2=B0 du mois.

J'ai d'abord tent=C3=A9 ceci :
{=3DSOMME((Ventes<>"@")*(CNUM(GAUCHE(Ventes;2))=3DMOIS(A$1)))} qui me renvo=
ie une erreur due au CNUM sur des cellules vides ou avec @.

Donc, j'ai tent=C3=A9 ceci :

{=3DSOMME((Ventes<>"@")*(SI(ET(Ventes<>"";Ventes<>"@");(CNUM(GAUCHE(Ventes;=
2)))=3DMOIS(B$2);0)))} qui ne renvoie plus d'erreur mais syst=C3=A9matiquem=
ent 0.

Un petit fichier exemple ici : http://www.cjoint.com/c/FGgodoKzKV4

Merci d'avance =C3=A0 tous les chirogourdiens qui passeront !

ThierryP

3 réponses

Avatar
ThierryP
Y'a un neurone supplémentaire qui s'est réveillé !! Voilà   ce que ça donne :
{=SI(ESTVIDE(V_Précédente);SOMME((Modele=$A3)*(Ventes<>"@")*( Ventes<>"")*( SI(ET(Ventes <>""; Ventes <>"@");CNUM(GAUCHE(Ventes;2));"") =MOIS(G$2))*( SI(ET(Ventes <>""; Ventes <>"@");CNUM("20" & DROITE(Ventes; 2));"")=V_Année)*1);SOMME((Modele=$A3)*(Ventes<>"@")*(Ventes<>"")* (Mois=MOIS(G$2))*(Année=V_Précédente)*1))}
Et ça marche !
ThierryP
Avatar
LSteph
Bonjour Thierry,
On peut utiliser sommeprod mais il faut remplacer tous les vides par un tir et ou autre et j'ai rempli donc là jusqu'à 32 mais avec des dates en 2016 pour compter qqchose.
En supposant que B soit quantité et C date en texte mm/aa comme dans ton exemple:
=SOMMEPROD((Cdes!$C$2:$C$32=TEXTE(Ventes!A$1;"mm/aa"))*(Cdes!$B$2:$B$32 ))
à recopier vers droite
Pourquoi ça ne voulait pas:
... faire cnum sur une chaine de caractères ne renvoyant pas du numà ©rique? Pour 05/12 ca marche mais pas pour @ ou vide!
Cdlt.
--
LSteph
Le mercredi 6 juillet 2016 16:04:00 UTC+2, ThierryP a écrit :
Bonjour le forum,
Le soleil revenant, mes quelques neurones survivants commencent à gr iller ! Donc, j'ai besoin d'un coup de main sur une matricielle :
Dans une feuille "Cdes", j'ai une colonne nommée "Ventes", dans laqu elle chaque cellule peut avoir comme valeur :
- vide
- @
- 03/16 (mois/année)
Dans une feuille "Ventes", je souhaite connaitre le nombre vendu par mois , donc 12 cellules de A à L, avec en ligne 1 les mois (01/16, 02/16... avec affichage mmmm). La fonction MOIS me renvoie le N° du mois.
J'ai d'abord tenté ceci :
{=SOMME((Ventes<>"@")*(CNUM(GAUCHE(Ventes;2))=MOIS(A$1)))} qui me ren voie une erreur due au CNUM sur des cellules vides ou avec @.
Donc, j'ai tenté ceci :
{=SOMME((Ventes<>"@")*(SI(ET(Ventes<>"";Ventes<>"@");(CNUM(GAUCHE(Vente s;2)))=MOIS(B$2);0)))} qui ne renvoie plus d'erreur mais systématiqu ement 0.
Un petit fichier exemple ici : http://www.cjoint.com/c/FGgodoKzKV4
Merci d'avance à tous les chirogourdiens qui passeront !
ThierryP
Avatar
ThierryP
Le jeudi 7 juillet 2016 07:45:56 UTC+2, LSteph a écrit :
Bonjour Thierry,
On peut utiliser sommeprod mais il faut remplacer tous les vides par un t iret ou autre et j'ai rempli donc là jusqu'à 32 mais avec des dat es en 2016 pour compter qqchose.
En supposant que B soit quantité et C date en texte mm/aa comme dan s ton exemple:
=SOMMEPROD((Cdes!$C$2:$C$32=TEXTE(Ventes!A$1;"mm/aa"))*(Cdes!$B$2:$B$ 32))
à recopier vers droite
Pourquoi ça ne voulait pas:
... faire cnum sur une chaine de caractères ne renvoyant pas du num érique? Pour 05/12 ca marche mais pas pour @ ou vide!
Cdlt.
--
LSteph

Bonjour Stéphane,
Pour la beauté du geste (!!), je voulais tout intégrer dans une s eule et belle formule... du coup, j'ai ajouté deux colonnes pour extra ire mois et année et là, ça fonctionne.
Merci de t'être intéressé à mon petit souci !
ThierryP