Fonction SOMME.SI.ENS

Contenu
Index 🔎︎

# SOMME.SI.ENS

Renvoie la somme des valeurs des cellules d'une plage qui répond à des critères multiples dans plusieurs plages.

Cette fonction est disponible depuis la version 4.0 de LibreOffice.

#### Syntaxe

SOMME.SI(plage_fonc;plage1;critère[;plage2;critère2][;...;[plage127;critère127]])

plage_fonction – argument requis. C'est une plage de cellules, un nom d'une plage nommée ou une étiquette de colonne ou de ligne contenant les valeurs pour le calcul de la somme.

plage1 - argument requis. C'est une plage de cellules, un nom d'une plage nommée, ou une étiquette de colonne ou de ligne, auquel le critère correspondant est appliqué.

Critère : un critère est une référence, un nombre ou un texte à une seule cellule. Il est utilisé dans les comparaisons avec le contenu des cellules.

Une référence à une cellule vide est interprétée comme la valeur numérique 0.

Une expression correspondante peut être :

- Un nombre ou une valeur logique. Un contenu de cellule correspondant est égal au nombre ou à la valeur logique.

- Une valeur commençant par un comparateur (<, <=, =, >, >=, <>).

  Pour =, si la valeur est vide, elle correspond aux cellules vides.

  Pour <>, si la valeur est vide, elle correspond aux cellules non vides.

  Pour <>, si la valeur n'est pas vide, elle correspond à n'importe quel contenu de cellule à l'exception de la valeur, y compris les cellules vides.

  Remarque : "=0" ne correspond pas aux cellules vides.

  Pour = et <>, si la valeur n'est pas vide et ne peut être interprétée comme un type Nombre ou l'un de ses sous-types et la propriété Critères de recherche = et <> doivent s'appliquer à des cellules entières est cochée, la comparaison est par rapport à l'ensemble du contenu de la cellule, si décochée, la comparaison est par rapport à n'importe quelle sous-partie du champ qui correspond aux critères. Pour = et <>, si la valeur n'est pas vide et ne peut pas être interprétée comme un type Nombre ou l'un de ses sous-types s'applique.

- Autre valeur de texte. Si la propriété Critères de recherche = et <> doivent s'appliquer à des cellules entières est vraie, la comparaison se fait par rapport à l'ensemble du contenu de la cellule , si elle est fausse, la comparaison s'effectue par rapport à toute sous-partie du champ qui correspond aux critères. L'expression peut contenir du texte, des nombres, des expressions régulières ou des caractères génériques (si activé dans les options de calcul).

Plage2 – Facultatif. Plage2 et tous les arguments suivants ont la même signification que Plage1.

Critère2 – Facultatif. Critère2 et tous les suivants ont la même signification que Critère.

La recherche prend en charge les caractères génériques ou les expressions régulières . Lorsque les expressions régulières sont activées, vous pouvez saisir "tous. *", Par exemple pour trouver le premier emplacement de "tous" suivi de n'importe quel caractère. Si vous souhaitez rechercher un texte qui est également une expression régulière, vous devez soit précéder chaque caractère d'un caractère "\", soit placer le texte dans \Q ...\E. Vous pouvez activer ou désactiver l'évaluation automatique des caractères génériques ou des expressions régulières dans LibreOffice - PréférencesOutils - Options - LibreOffice Calc - Calculer .

Lorsque vous utilisez des fonctions où un ou plusieurs arguments sont des chaînes de critères de recherche qui représentent une expression régulière, la première tentative consiste à convertir les critères de chaîne en nombres. Par exemple, ".0" se convertira en 0.0 et ainsi de suite. En cas de succès, la correspondance ne sera pas une correspondance d'expression régulière mais une correspondance numérique. Cependant, lorsque vous passez à un environnement local où le séparateur décimal n'est pas le point, la conversion d'expression régulière fonctionne. Pour forcer l'évaluation de l'expression régulière au lieu d'une expression numérique, utilisez une expression qui ne peut pas être mal interprétée comme numérique, telle que ". [0]" ou ".\0" ou "(?I) .0".

Plage_Fonction et Plage1, Plage2... doivent avoir la même taille, sinon la fonction renvoie une err502 - argument incorrecte.

La relation logique entre les critères peut être définie comme ET logique (conjonction). En d'autres termes, si et seulement si tous les critères donnés sont satisfaits, une valeur de la cellule correspondante de la plage donnée Plage_Fonction est prise en compte dans le calcul.

La fonction peut avoir jusqu'à 255 arguments, ce qui signifie que 127 plages de critères et critères peuvent leur être spécifié

Si une cellule contient VRAI, elle est traitée comme 1, si une cellule contient FAUX - comme 0 (zéro)

Cette fonction fait partie du standard Open Document Format for Office Applications (Open Document) Version 1.2 (ISO/IEC 26300:2-2015)

#### Exemple

Examinez le tableau suivant

| A | B | C
1 | Nom du produit | Ventes | Chiffre d'affaires
2 | crayon | 20 | 65
3 | stylo | 35 | 85
4 | bloc-notes | 20 | 190
5 | livre | 17 | 180
6 | trousse | non | non

Dans tous les exemples ci-dessous, les plages de calcul contiennent la ligne #6, qui est ignorée parce qu'elle contient du texte.

#### Usage simple

=SOMME.SI.ENS(B2:B6;B2:B6;">=20")

Calcule la somme des valeurs de la plage B2:B6 qui sont supérieures ou égales à 20. Renvoie 75 parce que la cinquième ligne ne correspond pas au critère.

=SOMME.SI.ENS(C2:C6;B2:B6;">=20";C2:C6;">70")

Calcule la somme des valeurs de la plage C2:C6 qui sont supérieures à 70 et correspondent aux cellules de la plage B2:B6 dont les valeurs sont supérieures ou égales à 20. Renvoie 275, parce que les seconde et cinquième lignes ne correspondent pas à au moins un critère.

#### Utilisation des expressions régulières et des fonctions imbriquées

=SOMME.SI.ENS(C2:C6;B2:B6;">"&MIN(B2:B6);B2:B6;"<"&MAX(B2:B6))

Calcule la somme des valeurs de la plage C2:C6 qui correspondent à toutes les valeurs de la plage B2:B6 à l'exception de ses minimum et maximum. Renvoie 255, parce que les troisième et cinquième lignes ne correspondent pas à au moins un critère.

=SOMME.SI.ENS(C2:C6;A2:A6;"crayon.*";B2:B6;"<"&MAX(B2:B6))

Calcule la somme des valeurs de la plage C2:C6 qui correspondent à toutes les cellules de la plage A2:A6 commençant par "crayon" et à toutes les cellules de la plage B2:B6 excepté son maximum. Renvoie 65, parce que uniquement la seconde ligne correspond à tous les critères.

#### Référence à une cellule comme critère

Si vous avez besoin de modifier facilement un critère, vous le spécifiez dans une cellule séparée et utilisez une référence à cette cellule dans la condition de la fonction SOMME.SI.ENS. Par exemple, la fonction ci-dessous peut être réécrite de la façon suivante :

=SOMME.SI.ENS(C2:C6;A2:A6;".*";B2:B6;"<"&MAX(B2:B6))

Si E2=crayon, la fonction renvoie 65 parce que le lien à la cellule est substitué par son contenu.

Rubriques connexes

SOMME, SOMME.SI

NB.SI.ENS, MIN.SI, MAX.SI, MOYENNE.SI.ENS, SOMME.SI.ENS

Liste des expressions régulières