Fonction SOMMEPROD si tests conditionnels non rempli

Pierre42

XLDnaute Nouveau
Bonjour,

Je me lance dans l'automatisation de données incluses dans un fichier excel pour une association. Pour illustrer mon problème j'ai créé un exemple excel joint au message. Je souhaite cumuler à une date donnée le sens des passage d'un véhicule donnée. En gros réaliser une somme de -1 et 1 pour une date et un type de véhicule donné.

Je préfère passer par une fonction, plutôt qu'un TCD. Pour se faire j'ai utilisé la fonction sommeprod suivante, d'excel qui fonctionne bien.

=SOMMEPROD((concat!$A$2:$A$30=B$1)*(concat!$C$2:$C$30=A2)*(concat!$B$2:$B$30))

Par contre, si les deux conditions (concat!$A$2:$A$30=B$1)*(concat!$C$2:$C$30=A2) ne sont pas remplis, la fonction réalise quand même le calcul et affiche un 0.

Dans l'exemple, si à une date souhaitée aucune voiture n'est passée, donc pas de ligne dans la feuille concat, j'obtiens un 0. J'aurais souhaité ne rien voir s'afficher pour ce cas particulier. Je tiens à signaler que je ne souhaite pas supprimer tous les 0, la somme des sens des voitures (concat!$B$2:$B$30) pouvant être égal à 0 (-1 + 1 par exemple).

Je voulais utiliser une fonction SI en plus de Sommeprod, mais je tourne un peu en rond. Avez vous une idée pour supprimer ces 0 ?

Merci
 

Pièces jointes

  • Test MAJ auto.xls
    17.5 KB · Affichages: 65

Tibo

XLDnaute Barbatruc
Re : Fonction SOMMEPROD si tests conditionnels non rempli

Bonjour,

Essaye avec cette correction :

en B2 :

Code:
=SOMMEPROD((concat!$A$2:$A$30=B$1)*(concat!$C$2:$C$30=A2)*(ESTNUM(concat!$B$2:$B$30)))

à recopier vers le bas

@+
 

Tibo

XLDnaute Barbatruc
Re : Fonction SOMMEPROD si tests conditionnels non rempli

re,

Peut-être ceci :

Code:
=SOMMEPROD((concat!$A$2:$A$30=B$1)*(concat!$C$2:$C$30=A2)*(ABS(concat!$B$2:$B$30)=1)*concat!$B$2:$B$30)
Mais l'idéal serait de nous donner pour plusieurs lignes le résultat attendu. En ce qui concerne les 0 dont tu parles, il n'y en a pas dans ton fichier.

@+

Edit : salut JHA :)

@+
 

Pierre42

XLDnaute Nouveau
Re : Fonction SOMMEPROD si tests conditionnels non rempli

JHA, ta formule fonctionne bien, elle permet de vérifier la première condition sur la date et d'empêcher le calcul lorsque celle ci n'est pas renseignée. Bien vu !

Par contre pour la condition sur "le type de véhicule" colonne A dans la feuille concat, ca ne fonctionne pas impossible de rajouter la fonction NB.SI (associé à un SI(ET avant) puisque c'est du texte.

Dans le premier fichier, je n'est mis qu'un seul type de véhicule "Voiture", si on rajoute par exemple des lignes "camions". Voir le fichier joint au message, ca ne fonctionne plus pour faire la somme pour les camions. Ce qui est logique puisqu'on n'a pas vérifié si le type de véhicule choisi est renseigné ou non.

Actuellement j'ai ceci :

voiture camion
........
16-mai
17-mai
18-mai
19-mai
20-mai 3 2
21-mai 2 0
22-mai 4 0
23-mai 4 0
24-mai 1 0
25-mai 0 0
26-mai 1 0
27-mai

J'aimerai obtenir ceci :

voiture camion
........
16-mai
17-mai
18-mai
19-mai
20-mai 3 2
21-mai 2
22-mai 4
23-mai 4
24-mai 1
25-mai 0
26-mai 1
27-mai

Si vous avez une idée pour vérifier cette deuxième condition (concat!$C$2:$C$30=$A2) en modifiant la formule donné par JHA :

=SI(NB.SI(concat!$C$2:$C$30;$A2)>0;SOMMEPROD((concat!$A$2:$A$30=B$1)*(concat!$C$2:$C$30=$A2)*(concat!$B$2:$B$30));"")
 

Pièces jointes

  • Test MAJ auto V2.xls
    20 KB · Affichages: 69

JHA

XLDnaute Barbatruc
Re : Fonction SOMMEPROD si tests conditionnels non rempli

RE,

en "B2":

=SI(SOMME((concat!$C$2:$C$30=$A2)*(concat!$A$2:$A$30=B$1))>0;SOMMEPROD((concat!$A$2:$A$30=B$1)*(concat!$C$2:$C$30=$A2)*(concat!$B$2:$B$30));"")
attention matricielle à valider par Ctrl+Maj+Entree
A recopier vers le bas et la droite

JHA
 

Discussions similaires

Réponses
8
Affichages
364
Réponses
1
Affichages
191