FR/Calc: fonction SOMME.SI

Totalise, avec une condition, le contenu des cellules d'une plage donnée.

Syntaxe :
SOMME.SI(plage_test; condition; plage_total)

Cette fonction identifie celles des cellules de la plage plage_test qui vérifient la condition, et totalise les cellules correspondantes de la plage plage_total. Si l'argument plage_total est omis les cellules de plage_test sont totalisées.

condition est, ou fait référence, à une chaîne de caractères au format suivant :


 * comparateur valeur où


 * comparateur est l'un des opérateurs >,  < , >=,  <= ,  = ,  <>  (si comparateur est omis  =  est sous-entendu);


 * valeur est la valeur (nombre ou texte) à comparer.

Par exemple, la condition “>4” vérifie si le contenu de chacune des cellules est supérieur à 4.

Cette fonction est très puissante pour comparer des textes, afin de déterminer leur similitude ou leur différence ( =  ou  <> ), mais une utilisation optimale ne peut être obtenue qu'au prix de quelques précautions préalables. Il est en particulier nécessaire de déterminer le comportement attendu dans le menu Outils – Options - LibreOffice Calc - Calcul:

Si l'option  Critères de recherche = et <> doivent correspondre à des lignes entières  est cochée, alors la condition “rouge” ne sera vérifiée que pour une cellule contenant exactement rouge ; mais si elle est décochée, alors elle sera vérifiée pour des cellule contenant rouge, rougeole, rouge sang.

Si l'option Autoriser les caractères génériques dans les formules est cochée, la condition sera vérifiée en utilisant des Expressions régulières dans Calc – ainsi, par exemple "ro.ge" sera vérifiée pour rouge et ronge, alors que "rouge.*" sera vérifiée pour rouge, rouges, rougeur, rougeole ou rouge-gorge (en revanche, elle ne sera pas vérifiée pour becs rouges parce que dans ce cas, le mot rouge n'est pas situé en début de cellule ; pour qu'une cellule contenant becs rouges, vérifie aussi la condition, il faudrait que la condition soit rédigée de la façon suivante : .*rouge.*).

Pour l'heure, le choix de cocher ou non l'option Respecter la casse est sans effet (la casse est toujours ignorée) – ce comportement est cependant susceptible de changer dans les versions futures de LibreOffice et il convient donc de ne pas se reposer sur ce comportement actuel.

Les cellules vides inclues dans la plage plage_test sont ignorées (elles ne vérifient jamais la condition).

condition ne peut comporter qu'une condition unique. Voir Sommes et calculs conditionnels dans Calc pour de plus amples informations.

Exemple :
 SOMME.SI(A1:A9;"<0") 
 * renvoie la somme des nombres négatifs de la plage A1:A9.

SOMME.SI(A1:A9; F1) 
 * où F1 contient le texte >=0 (sans les guillemets) renvoie la somme des nombres positifs de la plage A1:A9.

 SOMME.SI(B2:B4; "<"&F2; C2:C4) 
 * où F2 contient 10 et les cellules B2, B3, B4 contiennent 7, 9, 11, renvoie la somme de C2 et C3, puisque les cellules B2 et B3 sont inférieures à 10.

SOMME.SI(D1:D9; "pommes"; E1:E9)
 * où les cellules de la plage D1:D9 contiennent soit pommes, soit poires et les cellules de la plage E1:E9 contiennent la quantité correspondante de chaque fruit, renvoie la quantité totale de pommes.

Voir également :
fonction NB.SI, fonction SOMME, fonction BDSOMME, fonction BDPRODUIT

Fonctions Mathématiques

Sommes et calculs conditionnels dans Calc

Expression régulières dans Calc