Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Somme de cellules conditionnelle

6 réponses
Avatar
Dudule
Bonjour à toutes les fines lames d'Excel,
Je désire faire une somme conditionnelle:
Colonne A j'ai des dates (29/01/2013....)
Colonne B j'ai du texte (Dudule...)
Colonne C j'ai des chiffres (127,13)
Colonne D Je désire faire la somme des cellules de la colonne C, si en
colonne A la date est 2013, et en colonne B le texte est par exemple
"Dudule".
Merci pour votre aide...
@+

6 réponses

Avatar
MichD
Bonjour,

Essaie comme ceci en adaptant les plages de cellules.

Chaque plage de cellules doit avoir le même nombre de lignes.

=SOMMEPROD((ANNEE(A1:A5) 13)*(B1:B5="Dudule")*(C1:C5))



MichD
---------------------------------------------------------------
Avatar
Dudule
"MichD" a écrit dans le message de groupe de discussion :
kjh9rc$3lu$

Bonjour,

Essaie comme ceci en adaptant les plages de cellules.

Chaque plage de cellules doit avoir le même nombre de lignes.

=SOMMEPROD((ANNEE(A1:A5) 13)*(B1:B5="Dudule")*(C1:C5))



MichD
---------------------------------------------------------------


Salut,
Super, merci pour ta réponse, mais en fait "Dudule" est noyé dans un texte,
de plus je désirais avoir deux autres choix: "Toto" et "Titi" en plus de
Dudule ("Toto" ou "Titi" ou "Dudule").
J'ai modifié ta formule, elle fonctionne, mais il doit être possible de
l'améliorer, car elle devient un peu compliquée....

=SOMMEPROD( (ANNEE(A9:A712) 13) * ( ESTNUM(CHERCHE("*Dudule*";B9:B712))
+ ESTNUM(CHERCHE("*Toto*";B9:B712)) + ESTNUM(CHERCHE("*Titi*";B9:B712) ) )
* (C9:C712) )

Merci pour une réponse si simplification possible..
Avatar
MichD
Tu peux écrire comme ceci :

=SOMMEPROD((ANNEE(A9:A712) 13)*(ESTNUM(CHERCHE({"*Dudule*"."*Toto*"."*Titi*"};B9:B712))*(C9:C712)))


MichD
---------------------------------------------------------------
Avatar
Dudule
"MichD" a écrit dans le message de groupe de discussion :
kjhkhu$n9i$

Tu peux écrire comme ceci :

=SOMMEPROD((ANNEE(A9:A712) 13)*(ESTNUM(CHERCHE({"*Dudule*"."*Toto*"."*Titi*"};B9:B712))*(C9:C712)))


MichD
---------------------------------------------------------------


Super, cela réduit la formule, merci beaucoup.
Je ne connaissait pas cette syntaxe:

{"*Dudule*"."*Toto*"."*Titi*"}

Il semble que le "." donne la fonction "ou".
J'ai recherché un peu sur le net, mais je n'ai pas trouvé de documentation
pour cette formulation.
Peux-tu m'indiquer ta source de documentation ??
Merci
Avatar
MichD
| Il semble que le "." donne la fonction "ou".

Quand tu vois des accolades dans une formule {...}
c'est que tu as affaire à un tableau (matrice ou array)
Le "Point" représente le séparateur d'éléments du
tableau.

Pour un début d'information, tu peux lire les informations
sur l'ex-site de Laurent Longre sur les matrices.
http://www.xcell.excelabo.net/utilisation_matricielles

MichD
---------------------------------------------------------------
Avatar
Dudule
"MichD" a écrit dans le message de groupe de discussion :
kjjkdd$7rn$

| Il semble que le "." donne la fonction "ou".

Quand tu vois des accolades dans une formule {...}
c'est que tu as affaire à un tableau (matrice ou array)
Le "Point" représente le séparateur d'éléments du
tableau.

Pour un début d'information, tu peux lire les informations
sur l'ex-site de Laurent Longre sur les matrices.
http://www.xcell.excelabo.net/utilisation_matricielles

MichD
---------------------------------------------------------------

Ok pour les matrices...
Merci pour tout
@+