Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Excel

Excel Forum d'entraide sur Excel

Réponse
 
Outils de la discussion
Vieux 30/07/2008, 07h00   #1 (permalink)
Membre à l'essai
 
Date d'inscription: mai 2006
Localisation: Ile de la Réunion
Messages: 44
Envoyer un message via ICQ à clarisse Envoyer un message via MSN à clarisse
Par défaut fonction SOMME.SI utilisée avec fonction ET ?

Bonjour,

la fonction SOMME.SI s'utilise pour un critère sur une plage.
J'aimerai pouvoir effectuer la même chose, mais avec plusieurs critères à vérifier sur plusieurs plages, avant de faire la somme d'une plage.

Mais si j'essaye de la combiner avec la fonction ET, ça ne marche pas.
(Ou peut être je n'ai pas trouvé la syntaxe adéquate, mais ce n'est pas faute d'avoir essayé dans tous les sens)

Quelqu'un peut-il m'aider ou connait-il une solution alternative ?

Merci pour l'aide,
Clarisse.
clarisse est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 30/07/2008, 07h35   #2 (permalink)
Rédacteur/Modérateur
 
Avatar de Antoun
 
Date d'inscription: octobre 2006
Localisation: Paris
Âge: 38
Messages: 3 767
Par défaut

Mettre ton ET dans une colonne supplémentaire, et faire ton SOMME.SI dessus ?
__________________
Antoun
Expert SQL, BO, Essbase
  • Traduction de Intégrez un modèle de calcul à vos requêtes SQL sous Oracle
  • Article Jeux de caractères et collations sous MySQL 5
  • Livre Guide complet MySQL 5, par Antoine Dinimant, éd. MicroApplication
http://antoun.developpez.com
Antoun est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 30/07/2008, 07h41   #3 (permalink)
Membre à l'essai
 
Date d'inscription: mai 2006
Localisation: Ile de la Réunion
Messages: 44
Envoyer un message via ICQ à clarisse Envoyer un message via MSN à clarisse
Par défaut

ben en fait, j'y ai pensé, mais j'ai besoin de faire des somme.si sur plusieurs critères dans beaucoup de feuille de mon classeur excel, sur des colonnes de plusieurs centaines de lignes.
donc si je met à chaque fois des colonnes avec la fonction ET, mon classeur passe de 1 Mo et qques à 5 Mo; et comme il est utilisé en réseau WIFI dans mon entreprise, il est long à ouvrir et enregistrer etc... donc pas terrible....
clarisse est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 30/07/2008, 07h53   #4 (permalink)
Membre expérimenté
 
Date d'inscription: octobre 2007
Localisation: Nantes
Messages: 580
Envoyer un message via MSN à ouisansdoute
Par défaut

je me demande si la fonction SOMMEPROD ne permettrait pas de résoudre ton problème. Malheureusement je ne la maîtrise pas vraiment mais il y a beaucoup de documents sur cette fonction sur le net.

L'idéal serait d'avoir un morceau de ton fichier.
ouisansdoute est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 30/07/2008, 08h07   #5 (permalink)
Membre Expert
 
Avatar de wilfried_42
 
Date d'inscription: novembre 2006
Localisation: Saint etienne
Âge: 46
Messages: 1 033
Par défaut

Bonjour à tous

oui c'est bien sommeprod, seules obligations, les plages doivent avoir la meme longueur (taille) et elles doivent etre bornées (pas de A:A)

exemple : 3 criteres sur 3 colonnes, somme de la 4eme
Code :
=sommeprod((A1:A1000=Critere1) * (B1:B1000 = Crietere2) * (C1:C1000 = Critere3) * D1:D1000)
autre exemple : 2 criteres sur la meme colonne (critere1 ou critere2) somme colonne D (remplace somme.si + Somme.si)
Code :
=Sommeprod((((A1:A1000=Critere1)+(A1:A1000=Critere2))>0);D1:D1000)
Pour eviter le bornage : on peut utiliser des plages nommées dynamiques
__________________
Wilfried

venez visiter mon zoo - Cliquez-ici merci
wilfried_42 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 30/07/2008, 08h28   #6 (permalink)
Rédacteur/Modérateur
 
Avatar de Antoun
 
Date d'inscription: octobre 2006
Localisation: Paris
Âge: 38
Messages: 3 767
Par défaut

l'idée derrière ton utilisation de SOMMEPROD, c'est qu'avec des valeurs booléennes, le ET peut être remplacé par un produit ?
__________________
Antoun
Expert SQL, BO, Essbase
  • Traduction de Intégrez un modèle de calcul à vos requêtes SQL sous Oracle
  • Article Jeux de caractères et collations sous MySQL 5
  • Livre Guide complet MySQL 5, par Antoine Dinimant, éd. MicroApplication
http://antoun.developpez.com
Antoun est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 30/07/2008, 08h43   #7 (permalink)
Membre Expert
 
Avatar de wilfried_42
 
Date d'inscription: novembre 2006
Localisation: Saint etienne
Âge: 46
Messages: 1 033
Par défaut

Bonjour

c'est la base meme du booleen, ET = * (exclusif) et OU = + (inclusif)

le resultat d'une fonction booleenne = 1 pour vrai et 0 pour faux
exemple 1 : si tout est vrai on a donc 1 * 1 * 1 soit 1 * le montant
exemple 1 : Si une valeur est fausse ca exclus tout le reste puisque une multiplication par 0 fait 0

exemple 2 : 1 + 1, ou 1 + 0 ou 0 + 1 donne soit 1 soit 2. le resultat s'il est superieur à 0 (test > 0) renvoi Vrai (1), sinon renvoi Faux (0)

Edit : une petite precision dans le vba : La valeur True = -1 et pas 1 ce qui pose probleme (enfin un tout petit car -1 * -1 = 1)
code à essayer :
Code :
Sub essai()
    Dim drap As Boolean, a As Integer
    drap = True: a = CInt(drap)
    MsgBox a
    drap = False: a = CInt(drap)
    MsgBox a
End Sub
 
__________________
Wilfried

venez visiter mon zoo - Cliquez-ici merci
wilfried_42 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 30/07/2008, 08h46   #8 (permalink)
Membre à l'essai
 
Date d'inscription: mai 2006
Localisation: Ile de la Réunion
Messages: 44
Envoyer un message via ICQ à clarisse Envoyer un message via MSN à clarisse
Par défaut

SUPER !
merci à tous ceux qui m'ont répondu et wilfried pour l'explication sur sommeprod, ça marche bien pour ce que je veux faire.
ouf
bonne journée à tous!
Clarisse.
clarisse est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 30/07/2008, 09h24   #9 (permalink)
Rédacteur/Modérateur
 
Avatar de Antoun
 
Date d'inscription: octobre 2006
Localisation: Paris
Âge: 38
Messages: 3 767
Par défaut

Merci aussi ! Je n'avais jamais réussi à comprendre l'intérêt du SOMMEPROD, mais l'exemple de Clarisse est très parlant.
__________________
Antoun
Expert SQL, BO, Essbase
  • Traduction de Intégrez un modèle de calcul à vos requêtes SQL sous Oracle
  • Article Jeux de caractères et collations sous MySQL 5
  • Livre Guide complet MySQL 5, par Antoine Dinimant, éd. MicroApplication
http://antoun.developpez.com
Antoun est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 30/07/2008, 09h31   #10 (permalink)
Membre Expert
 
Avatar de wilfried_42
 
Date d'inscription: novembre 2006
Localisation: Saint etienne
Âge: 46
Messages: 1 033
Par défaut

re:

personnelement, je l'utilise aussi pour faire un rechercheV avec plussieurs criteres de recherche mais uniquement dans la fonction exclusif

Code :
=Index(A:A;sommeprod((A1:A1000=Critere1)*(B1:B1000=Critere2)*ligne(A1:A1000)))
bien entendu il ne doit y avoir dans la base qu'une seule ligne selon les criteres sinon il addtionne toute les lignes
__________________
Wilfried

venez visiter mon zoo - Cliquez-ici merci
wilfried_42 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 30/07/2008, 09h37   #11 (permalink)
Rédacteur/Modérateur
 
Avatar de Antoun
 
Date d'inscription: octobre 2006
Localisation: Paris
Âge: 38
Messages: 3 767
Par défaut

la fonction exclusif ???
(désolé, au bureau je n'ai que la version anglaise d'Excel)
__________________
Antoun
Expert SQL, BO, Essbase
  • Traduction de Intégrez un modèle de calcul à vos requêtes SQL sous Oracle
  • Article Jeux de caractères et collations sous MySQL 5
  • Livre Guide complet MySQL 5, par Antoine Dinimant, éd. MicroApplication
http://antoun.developpez.com
Antoun est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 30/07/2008, 09h50   #12 (permalink)
Membre Expert
 
Avatar de wilfried_42
 
Date d'inscription: novembre 2006
Localisation: Saint etienne
Âge: 46
Messages: 1 033
Par défaut

re:

exclusif : Et : *
__________________
Wilfried

venez visiter mon zoo - Cliquez-ici merci
wilfried_42 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 30/07/2008, 09h54   #13 (permalink)
Rédacteur/Modérateur
 
Avatar de Antoun
 
Date d'inscription: octobre 2006
Localisation: Paris
Âge: 38
Messages: 3 767
Par défaut

#@+°~µ : ?

si je comprends bien, quand tu dis "exclusif", ça veut dire "OU exclusif" ?
__________________
Antoun
Expert SQL, BO, Essbase
  • Traduction de Intégrez un modèle de calcul à vos requêtes SQL sous Oracle
  • Article Jeux de caractères et collations sous MySQL 5
  • Livre Guide complet MySQL 5, par Antoine Dinimant, éd. MicroApplication
http://antoun.developpez.com
Antoun est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 30/07/2008, 10h07   #14 (permalink)
Membre Expert
 
Avatar de wilfried_42
 
Date d'inscription: novembre 2006
Localisation: Saint etienne
Âge: 46
Messages: 1 033
Par défaut

re:

si(et(A1=1;A2=3);1;0)' le test est exclusif puisque les deux valeurs doivent etre exactes
si(OU(A1=1;A2=3);1;0) ' le test est inclusif puis une seule des 2 valeurs est suffisante

avec et on peut ecrire A1=1) * (A2=3) ' le resultat sera le meme qu'avec le si
__________________
Wilfried

venez visiter mon zoo - Cliquez-ici merci
wilfried_42 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 30/07/2008, 12h07   #15 (permalink)
Membre à l'essai
 
Date d'inscription: mai 2006
Localisation: Ile de la Réunion
Messages: 44
Envoyer un message via ICQ à clarisse Envoyer un message via MSN à clarisse
Par défaut

ah !
en fait, j'ai encore un soucis.
Dans certaines plages qui doivent être sommées, j'ai des formules de calculs.
et du coup ça renvoie #VALEUR...

Une idée ?
clarisse est déconnecté   Envoyer un message privé Réponse avec citation
NEWS MS-OFFICEFAQs OFFICETUTORIELS OFFICELIVRES OFFICESOURCES VBA

Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Excel



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide