SOMMEPROD inefficace

Résolu/Fermé
wisiwig34 Messages postés 8 Date d'inscription vendredi 17 août 2012 Statut Membre Dernière intervention 10 novembre 2012 - 9 nov. 2012 à 23:38
cousinhub29 Messages postés 969 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 28 novembre 2024 - 10 nov. 2012 à 01:42
Bonsoir à tous,

Voici ma question :
J'aimerais déterminer à l'aide d'une formule, combien de lignes remplissent deux critères donnés à la fois dans le tableau.
Par exemple : combien de lignes ont à la fois "merci" dans la colonne A et "beaucoup" dans la colonne C.
J'ai constaté que cette question était récurrente sur le forum, j'ai essayé avec la fonction SOMMEPROD,NB.SI, des matrices (que je découvre car je suis novice), sans succès (erreur). J'utilise une version 2003 d'Excel.
Mes critères sont des mots. J'ai pensé au tableaux croisés dynamiques mais je ne suis pas suffisamment à l'aise avec cet outil, d'où la recherche d'une formule.

Je vous remercie mille fois pour votre aide et espère avoir été suffisamment précise dans ma demande.

Cordialement,




9 réponses

cousinhub29 Messages postés 969 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 28 novembre 2024 345
10 nov. 2012 à 00:08
Bonjour,

Es-tu sûr que "Sommeprod" est si inefficace que tu le dis?

Regarde le fichier joint!

A noter qu'il est indispensable que les matrices soient exactement de la même hauteur

https://www.cjoint.com/?BKkahPwXjnq

Bonne soirée
0
wisiwig34 Messages postés 8 Date d'inscription vendredi 17 août 2012 Statut Membre Dernière intervention 10 novembre 2012
10 nov. 2012 à 00:20
Bonjour,

Malheureusement je pense que oui, quand je dis "inefficace", je me réfère à mon problème uniquement... Je ne comprends pas. Ca marche très bien dans votre fichier effectivement.
J'ai deux onglets différents, je ne pense pas que cela influence le résultat ? (la formule est dans l'onglet 2 et fait référence à des cellules de l'onglet 1).
Quand cela n'affiche pas une erreur, le résultat est toujours "0", ce qui est faux...
Mes critères peuvent être une expression comme "un petit peu" ou en majuscule.

Bonne soirée
0
wisiwig34 Messages postés 8 Date d'inscription vendredi 17 août 2012 Statut Membre Dernière intervention 10 novembre 2012
10 nov. 2012 à 00:22
Peut-être que ma version ne prend pas en charge cette fonction...existerait-il un autre moyen selon vous ?

Merci
0
cousinhub29 Messages postés 969 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 28 novembre 2024 345
10 nov. 2012 à 00:38
Re-,

Attention, ne prends surtout pas comme matrice une colonne entière...

Si tu veux, mets une version épurée de toutes données confidentielles sur le site que j'ai utilisé, mais qui reproduit ton problème, on pourra voir de plus près
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cousinhub29 Messages postés 969 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 28 novembre 2024 345
Modifié par cousinhub29 le 10/11/2012 à 01:05
Bonjour,

Bien reçu ton fichier.

Cependant, je réponds sur le fil initial, afin que d'autres personnes puissent en profiter.

Comme tu fais référence à un autre onglet, il faut que tu mettes une formule du genre :

=SOMMEPROD((identité!T2:T300="Un petit peu")*(identité!O2:O300="CHRU MTL")*1)


Pour obtenir la valeur voulue dans la cellule B14.

Ceci dit, il y a beaucoup de boulot sur le fichier....

Ton onglet "identité" comporte énormément de "déchets" en fin de page...

Et pour définir tes noms (tel "Lieux"), essaie plutôt avec une liste dynamique, et rentre cette formule dans la case "Fait référence à :"

=DECALER(listes!$A$1;1;;NBVAL(listes!$A:$A)-1)


Ainsi, tu ne prends que les cellules renseignées, sans les 65553 cellules vides en dessous....

Bon courage

PS, j'ai oublié, "Un petit peu" et non "un petit peu" (U majuscule)
0
wisiwig34 Messages postés 8 Date d'inscription vendredi 17 août 2012 Statut Membre Dernière intervention 10 novembre 2012
10 nov. 2012 à 01:18
Ah c'est super, votre formule semble fonctionner à merveilles! Merci mille fois.
Hmmm j'essaie juste de comprendre où je dois entrer la formule, c'est pour remplacer mes "titres" de colonnes si je comprends bien
=DECALER(listes!$A$1;1;;NBVAL(listes!$A:$A)-1)
Je ne connais pas la case "Fait référence à" :-s mais je vais cogiter.
0
cousinhub29 Messages postés 969 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 28 novembre 2024 345
10 nov. 2012 à 01:24
Re-,

C'est pour définir les zones nommées.

Selon la version Excel :

- Insertion/Nom

- Ruban "Formules" "Gestionnaire de noms"

Au fait, quelle version d'excel utilises-tu?

PS, il est d'usage sur un forum d'utiliser le "you", donc le "tu"....lol
0
wisiwig34 Messages postés 8 Date d'inscription vendredi 17 août 2012 Statut Membre Dernière intervention 10 novembre 2012
10 nov. 2012 à 01:32
Re-,
J'utilise une version 2003 d'Excel.
Ah d'accord lol je prends note concernant le "tu" :-) merci pour l'info
Donc il faut que je clique dans l'onglet "identité" sur "Lieux" par exemples, je fais insertion --> Nom --> définir : je rentre la formule dans la case "fait référence à" ? Excuse-moi mais je ne suis pas sûre d'avoir bien compris ce que tu voulais dire : quand tu dis que ça prendra que les cellules remplies, c'est dans quel contexte ? lors du calcul des formules ?
0
cousinhub29 Messages postés 969 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 28 novembre 2024 345
10 nov. 2012 à 01:42
Re-,

Je t'ai répondu en MP

Pour la suite, lis mon message

Bonne nuit
0