Calcul conditionnel

Bonjour,
Je pose mon problème:
J’ai 2 colonnes: A1: A200 ( Codification) et B1: B200 ( Montant à calculer )

Cellule B201 : =somme(B1:B200)

Je voudrais que la cellule B201 additionne toutes les lignes de la colonne B1:B200 sauf lorsqu’il y a un code particulier (exemple : “V” ) sur 1 ligne de la colonne A1:A200.

Je modifie un peu ma demande avec 3 colonnes.
A1:A200 ( Tri … ex: “V” pour variante)
B1:B200 ( Code TVA 1 2 3 )
C1:C200 ( Montant à calculer )
Je voudrais additionner toutes les lignes de la colonne C1:C200 en excluant les lignes contenant “V” de la col A et pour lesquelles la TVA “2” col B par exemple est vérifiée.
J’ai essayé cette formule sans résultat:
somme.si(et(A1:A200;"<>V";B1:B200;"=2");C1:C200))
Un avis
Merci

Dans une quatrième colonne D, la formule

=SI(A1<>“V”;SI(B1=2;0;C1))

à descendre jusqu’en D200 donne le résultat attendu.

ou avec cette formule en bas de colonne des données (sans quatrième colonne) :

=SOMME(C1:C200)-SOMMEPROD((A1:A200)=“V”;(B1:B200)=2;C1:C200)

Voir le court fichier joint à titre d’exemple :

Calcul 2 critères.ods

Bonjour,

on peut tricher avec un produit :
=SOMMEPROD((A1:A200<>“V”);(B1:B200=1);C1:C200)
si une condition est fausse, LO renvoie 0 dont le produit est nul.

C’est triché, c’est mal, mais ca marche :wink:

Evitez someprod, la multiplication de 2 matrices consomme plus de ressources systèmes. Sur 2 colonnes, ça va, mais sur des 10aines de colonnes avec des milliers de tuples, moins.

Bonjour,

La solution la plus simple (déjà prévues dans calc) avec cette formule :
=SOMME.SI.ENS(C2:C10;A2:A10;"";B2:B10;2)
dans la mesure ou il n’y a que “V” ou une chaine vide “” dans les cellules de la colonne A
En reprenant le fichier d’exemple de jmp.
Exemple.ods
Cordialement
Patrick