Somme.Si complexe pour moi

Benoit DESCOURS

XLDnaute Junior
Bonjour,

Je souhaite faire la somme des valeurs de cellules si le code correspond.
Vous y verrez plus clair sur le fichier joint...

Merci de votre aide.
 

Pièces jointes

  • test_somme_heures.xlsx
    9.3 KB · Affichages: 20

Dugenou

XLDnaute Barbatruc
Bonjour,
une proposition lourdingue en pj : la formule est à modifier pour chaque code/semaine
Viable seulement si vous avez de la patience ou pas trop de données à traiter.
Si beaucoup de données, il vaudrait mieux réorganiser vos données de base en une véritable base de données : 1 colonne = 1 champ : ici vous avez 3 champs différents dans la même colonne : le code produit, le jour de la semaine et la quantité.

Cordialement

Edit : Salut Jocelyn
Edit2 : grossière erreur de calcul dans le premier fichier : rechargé nouveau fichier plus correct, mais tout aussi lourdingue : La solution de Jocelyn est bien plus élégante
 

Pièces jointes

  • descours.xlsx
    9.9 KB · Affichages: 19
Dernière édition:

Victor21

XLDnaute Barbatruc
Re, Benoît, bonsoir à tous

Les matrices multipliées doivent faire la même dimension :
Essayez :
=SOMMEPROD(($A$6:$A$141=$B148)*(C$5:C$140=$A148)*(ESTNUM(C$6:C$141));C$6:C$141)
au lieu de :
=SOMMEPROD(($A$6:$A$141=$B148)*(C$5:C$132=$A148)*(ESTNUM(C$6:C$141));C$6:C$141)

Edit : je m'aperçois en relisant que je n'avais pas salué mes p'tits camarades:(
C'est maintenant fait.
 
Dernière édition:

Victor21

XLDnaute Barbatruc
Re,
En complément :
Sommeprod() est une formule matricielle.
La matrice A6:A141 comporte 136 cellules.
La matrice C5:C132 comporte 128 cellules.
$A$6:$A$141=$B148 renvoie donc une suite de 136 "0" ou "1" (0 si le test est négatif, 1 si le test est vrai).
$C$5:$C$132=$A148 renvoie donc une suite de 128 "0" ou "1" (0 si le test est négatif, 1 si le test est vrai).
Excel (ni personne d'autre de ma connaissance ) ne sait multiplier une à une 136 valeurs avec 128 valeurs.
 
Dernière édition:

Benoit DESCOURS

XLDnaute Junior
Re Victor21,

Juste un dernier doute. Tu utilises ESTNUM.

Mais pour certaines cellules, je me retrouve avec des 1A, 1B, 2, 3, 4, 5 qui correspondent à des zones.
Et là je dois compter le nombre de 1A, de 1B...

Dois-je utiliser SOMMEPROD et que dois-je utiliser pour ma dernière matrice ?

Merci d'avance
 

Victor21

XLDnaute Barbatruc
Re,

[...] pour certaines cellules, je me retrouve avec des 1A, 1B, 2, 3, 4, 5 qui correspondent à des zones.
Et là je dois compter le nombre de 1A, de 1B...

Dois-je utiliser SOMMEPROD et que dois-je utiliser pour ma dernière matrice ?

Merci d'avance
Nb.si(plage;"1A") compte le nombre de "1A" dans plage.
Nb.si(plage;2) compte le nombre de "2" dans plage.
Quant à votre dernière matrice, ma boule de cristal est impuissante.
 

Jocelyn

XLDnaute Barbatruc
Bonjour,

Alors commençons par un grand merci a Victor :) pour avoir pris la relève vu que je n'étais pas dispo hier soir

après dans le fichier joint j'ai mis les formules en C148:I157, quand tu parles de "Et là je dois compter le nombre de 1A, de 1B..." je suppose que cela doit se faire sur la ligne zone (ligne(153)) alors met quelque valeur de ce type dans les autres tableaux avec a la min le résultat qui doit etre trouvé dans le tableau récap

A te lire

Cordeialement
 

Pièces jointes

  • 2018_analyse_chantiers.xlsm
    655 KB · Affichages: 17

Statistiques des forums

Discussions
312 176
Messages
2 085 961
Membres
103 066
dernier inscrit
bobfils