Sommeprod- Accepter plusieur critères ds 1 colonne

M

militaire2005

Guest
Bonjour,

J'aimerais vous soumettre un problème que j'ai beaucoup de mal à résoudre...

Je travaille sur un tableau à double entrée qui va chercher sur une autre feuille les données correspondant à la fois au critère de gauche et du haut.

Exemple : SOMMEPROD((données!$B$3:$B$14=tableau!$B9)*(données!$C$3:$C$14=tableau!C$8))

Mais j'aimerais, en plus, donner la possibilité à l'utilisateur de filtrer les données selon des critères dans un liste.

Par exemple : Liste : BLANC BLEU ROUGE NOIR
... dans l'idéal, l'utilisateur pourrait sélectionner les fleurs blanches (BLANC) et BLEU et ROUGE ou ROUGE uniquement.

Et c'est bien là que cela se corse....

Comment faire pour que Sommeprod (ou excel en général) aille chercher plusieurs valeurs acceptables; est-il possible de faire une formule de la forme :

SOMMEPROD((données!$B$3:$B$14=tableau!$B9)*(données!$C$3:$C$14=tableau!C$8))*(données!D3:D14=tableau!C5)

..et qu'en C5 on puisse choisir (liste déroulante: BLANC;ROUGE (pour BLANC et ROUGE // BLANC;ROUGE;NOIR // ...) ?

Quel est le signe à mettre (à la place du ';' en gras) ou la syntaxe pour que ça marche?

Y a t il une autre méthode qui permettait de ne pas avoir à entrer toutes les combinaisons possibles dans la liste de validation?


J'espère que j'ai été clair.

Merci d'avance à tous.

PS: je joint un fichier d'exemple.

:) :)
 
M

militaire2005

Guest
Voici le fichier [file name=Exemple_avec_des_fleurs.zip size=4539]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Exemple_avec_des_fleurs.zip[/file]
 

Pièces jointes

  • Exemple_avec_des_fleurs.zip
    4.4 KB · Affichages: 80
M

militaire2005

Guest
C très gentil.

Mais le vrai document comporte déjà 27 lignes et une 60aine de colonnes donc je ne peux pas simplement mettre plus de détails en ligne ou en colonne.

Je pense que je suis la bonne voix pour ce qui est de permettre de sélectionner à la fois une couleur ou toutes.

J'ajoute à la liste de validation un item 'tous types' et je fait passer le sommeprod par un recherchev avant de chercher dans les données.

Càd : SOMMEPROD((Données!$C$3:$C$65536=$C10)*(Données!$D$3:$D$65536=E$9)*Données!$G$3:$G$65536=RECHERCHEV($I$6;'Ne pas toucher'!$C$2:$D$16;2;FAUX)

Il faut juste que je trouve quoi mettre en face de 'tous types' pour que tout soit sélectionner (j'ai essayé <>0 // <>'' ... mais pour l'instant ça marche pas)
 
M

militaire2005

Guest
Je UP mon post.

Sinon, j'ai maintenant réglé une partie de mon problème.

J'arrive à gérer une liste de validation à X items + Tous les items combinés.

Exemple : BLANC / ROUGE / VERT / Tous types

=SOMMEPROD((Données!$C$3:$C$65536=$D10)*(Données!$D$3:$D$65536=AF$9)*(SI(ESTERREUR(Données!$G$3:$G$65536=RECHERCHEV($K$6;'Ne pas toucher'!$C$2:$D$16;2;FAUX));1;(Données!$G$3:$G$65536=RECHERCHEV($K$6;'Ne pas toucher'!$C$2:$D$16;2;FAUX))*(Données!$A$3:$A$65536)))

L'astuce est que je fait passer ma valeur à chercher K6 dans une recherchev OR volontairement excel ne trouvera pas 'tous types' donc il renvoit une erreur et donc la 'boucle si(esterreur(...)) renvoit 1... ce qui revient à sélectionner toutes les données.

Mais j'ai toujours un problème si je ne veux que 2 des 10 items par exemples.

Quelqu'un a une idée?

N'est-il pas possible de faire une formule du type :((sommeprod(C1:C100='BLANC';'ROUGE')*(D1:D100) ?
 

Dugenou

XLDnaute Barbatruc
Salut Militaire,

Voici une proposition à partir de ton premier exemple, avec des formules à valider par Ctrl+Shift+entrée (matricielles, mais saisie sur une seule cellule puis recopie)

J'ai pensé que 'toutes' = pas de couleur spécifiée; puis même prinicpe avec un si pour chaque cellule ou tu choisis une couleur (si pas de saisie pas de critère)
J'ai fait 4 cellules pour choix des couleurs avec une liste de validation.

Dis moi ce que tu en penses [file name=Exemple_avec_des_fleurs_20050728192649.zip size=3464]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Exemple_avec_des_fleurs_20050728192649.zip[/file]
 

Pièces jointes

  • Exemple_avec_des_fleurs_20050728192649.zip
    3.4 KB · Affichages: 77
M

militaire2005

Guest
Merci beaucoup.

:) :)

Grace à vous j'ai beaucoup avancer!!!

Je ne savais pas que l'on pouvait additionner des conditions dans la même colonne en utilisant bêtement un +.


Tant que nous y sommes... Y a t'il d'autres opérateurs que * et + qui marchent avec Sommeprod. J'ai essayé / ça marche pas... ou je ne l'ai pas bien utilisé.

Par contre l'expression Sommeprod((B1:B200=bla)*(C1:C200=blabla)*(1-(onglet!A1:A200=baba))) est très utile car elle permet de donner les données qui coresspond à bla et blabla sauf celle qui correspondent aussi à baba.

(toutes les roses du client 154 qui ne soient pas blanches)


Si des experts de la fonction trainent dans le coin, n'hésitez pas à détailler les secrets de la fonction....
 
M

militaire2005

Guest
Si j'ai bien compris, il n'est pas possible de upper son sujet soi même.

Cela ne marche que si quelqu'un ajoute une réponse.

Je comprend que le Uppage pose problème. Mais on peut aussi avoir un prob qui n'est pas résolu et que l'on est obligé de relancer. Ce qui fait des doublons de sujet... alors que si j'ai bien compris ce n'est pas une pratique très appréciée.

Peut-être faudrait-il donner au moins la possibilité de downer son sujet si celui-ci a été résolu OU peut-être mettre un état de sujet sur la page d'accueil (en attente de réponse/résolu/pour info/tchat/...)...

Dans l'état actuel des choses je ne regarde que mon topic (enfin je le cherche), les 10 premiers sujets et ceux qui n'ont pas eu de réponses.

Si tout le monde fait comme moi( et je pense qu'il y en a), un sujet passe vite au oubliettes... et C dommage.
 

Celeda

XLDnaute Barbatruc
Bonjour,

Oui la 'mise à jour' de son propre sujet ne peut être effective que par soi-même ou par une réponse mais l'option de soi-même ne semble pas interessante si l'on apporte pas un élément supplémentaire au sujet.

Si on regarde de plus près l'état d'un post :

ou il est mis à jour par son auteur pour infos supplémentaires et c'est ok

ou il est répondu correctement et il se ferme de lui-même

ou bien il reste en suspens pour non réponse

et si on analyse la non réponse on peut en déduire plusieurs choses

soit la demande n'a pas été assez claire

soit le sujet n'interesse personne (et c'est très rare sur ce forum)

soit il n'y a pas de solution (et c'est aussi très rare sur ce forum)

soit il n'y a pas de personne disponible au moment T

soit le post en lui-même est tellement mal écrit que cela ne donne
envie à personne de perdre son temps (et même là il y en a qui s'attardent)

Le système de référence dont tu parles est judicieux mais il ne semble pas très approprié à notre forum et pour des raisons simples à comprendre.

Ici, on vient tous passer un peu de temps pour échanger des solutions et faire évoluer notre travail. Nous faisons cela sur notre temps de travail, de loisirs, ect... ce qui implique que pour gérer la base de données des posts, il faudrait qu'une personne bien attitrée pour tout relire et appliquer ce système de référencement, ttravaille sur le forum. Hors ce forum et je ne parle que du forum, est tenu à bout de bras par une poignée de femmes et d'hommes dévoués aux autres à titre gracieux.

Voilà un peu la situation pour t'éclairer mais tes suggestions ne sont pas utopiques.

Ici nous rayonnons de désir de compréhension,

nous brillons par une soif d'amour interxldien,

nous nous illuminons par un mélange de personnalités,

nous chatoyons par notre imaginaire et notre création,

nous irradions de notre universalité excellienne,

nous étincellons par nos attitudes altruistes,

et nous pétillons de nos faiblesses par nos rires !!


Enfin, sache que nous essayons de faire le mieux que nous pouvons.

Bon week-end à tout le monde


Celeda
 

Dugenou

XLDnaute Barbatruc
Bonsoir celeda, bonsoir militaire

:angry: Ca fait mal de lire 'en utilisant betement un +' ! moi je trouvais que j'avais eu l'idée géniale d'appliquer ce que j'ai lu dans d'autres posts sur sommeprod :)

Bon, sans rire : je suis bien content que tu avances dans ton projet, si tu cherches le sujet 'sommeprod' tu devrais trouver des tas de truc intéressants. Si tu veux limiter les résultats, tu peux rechercher sommeprod monique : elle est vraiement très forte sur ce sujet (et bien d'autres). Il y a aussi un sujet dans l'espace téléchargement.

Pour le 'uppage' des posts, j'ai l'impression que ça ne fonctionne plus depuis quelques jours. Il te reste deux options : si tu t'entregistres en arrivant sur le site, tu cliques sur 'mon profil' puis tu cliques sur l'onglet forum et là tu as tes 10 derniers messages. Tu peux aussi recevoir un mail quand il y a une réponse à un certain post (en bas du fil à gauche : 'suivre fil'). Tu peux aussi, comme certain(e)s, te connecter tous les jours plusieurs fois par jour et suivre la feuille derniers messages.

Enfin, pour répondre à ta question : je crois que seuls + et * fonctionnent : * = ET et + = OU

Voilà pour aujourd'hui
à la prochaine.
 

Monique

Nous a quitté
Repose en paix
Bonjour,

On peut utiliser le signe - (moins)
il équivaut à 'sauf'

Faire la somme de la colonne C à condition que
en A, les nombres soient supérieurs à 10 mais pas égaux à 200
en B, qu'il y ait un 'A'
=SOMMEPROD(((A2:A10>10)-(A2:A10=200))*(B2:B10='A');C2:C10)

Des dates de A20 à A32
Compter le nb de jours autres que samedi, dimanche et mercredi :
=SOMMEPROD(((JOURSEM(A20:A32;2)<6)-(JOURSEM(A20:A32)=4))*1)

Pas réussi à trouver mieux, comme exemples.
 

Discussions similaires

Réponses
12
Affichages
252

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 459
dernier inscrit
Arnocal