Documentation/Fonctions Calc/SOMME.SI
TDF LibreOffice Document Liberation Project Blogs communautaires Weblate Nextcloud Redmine Ask LibreOffice Donner
Nom de la fonction :
SOMME.SI
Catégorie :
Mathématique
Résumé :
Dans sa forme la plus simple, SOMME.SI détermine les cellules d'une plage qui répondent à un critère spécifié et calcule la somme des nombres de ces cellules correspondantes. Dans sa deuxième forme, SOMME.SI détermine les cellules d'une plage qui répondent à un critère spécifié, puis calcule la somme des nombres des cellules correspondantes d'une seconde plage.
Le critère passé à SOMME.SI peut utiliser des caractères génériques ou des expressions régulières.
Syntaxe :
SOMME.SI(Plage; Critères[; Plage de somme])
Renvoie :
Renvoie un nombre réel qui est le résultat de l'addition des nombres dans les cellules concernées.
Arguments :
Argument de plage
Plage spécifie les cellules à mettre en correspondance et, lorsque l'argument Plage de somme est omis, les cellules à additionner. Plage prend généralement l'une des formes suivantes :
- Référence à une plage de cellules (par exemple, A1:A25). Si Plage de somme est omis, Range peut utiliser l'opérateur de concaténation de références (~).
- Le nom d'une plage nommée.
- Le nom d'une plage de base de données.
Argument du critère
Critère est le critère de correspondance, ou une cellule contenant ce critère. Critère peut prendre l'une des formes suivantes :
- Un nombre, tel que 34,5. Les dates et les valeurs logiques (VRAI ou FAUX) sont traitées comme des nombres.
- Une expression, telle que 2/3, RACINE($D$1) ou DATE(1; 11; 2021).
- Une chaîne de texte, telle que "golf" ou "<>10".
SOMME.SI recherche les cellules de la plage Plage égales à Critère, sauf si Critère est une chaîne de texte commençant par un comparateur (>, <, >=, <=, = ou <>). Dans ce dernier cas, SOMME.SI compare les cellules de la plage Plage au reste de la chaîne de texte (interprétée comme un nombre si possible et comme du texte sinon). Par exemple, la condition ">4,5" vérifie si le contenu de chaque cellule est supérieur au nombre 4,5, la condition "<chien" vérifie si le contenu de chaque cellule précède alphabétiquement le texte "chien", et la condition "<>1-11-2021" vérifie si le contenu de chaque cellule n'est pas égal à la date spécifiée.
Critère prend en charge les comportements spécifiques suivants :
- La chaîne "=" correspond aux cellules vides. Par exemple, la formule
=SOMME.SI(B1:B10; "="; A1:A10)
renvoie la somme de toutes les valeurs de la plage A1:A10 si toutes les cellules de la plage B1:B10 sont vides. Notez que "=0" ne correspond pas aux cellules vides. - La chaîne "<>" correspond aux cellules non vides. Par exemple, la formule
=SOMME.SI(C1:C10; "<>"; A1:A10)
renvoie la somme de toutes les valeurs de la plage A1:A10 si aucune cellule n'est vide dans la plage C1:C10. - Si la valeur après le comparateur <> n'est pas vide, alors Critère correspond à tout contenu de cellule sauf cette valeur, y compris les cellules vides.
Argument Plage de somme
Plage de somme spécifie les cellules à additionner et prend l'une des formes répertoriées pour Plage. Plage de somme devrait normalement avoir les mêmes dimensions que Plage – si ce n'est pas le cas, SOMME.SI additionnera une plage de cellules commençant à la première cellule de Plage de somme et ayant les mêmes dimensions que Plage.
Conditions d'erreur
- Si l'argument Plage de somme est fourni et que l'opérateur de concaténation de référence est utilisé dans Plage, alors SOMME.SI signale une erreur de liste de paramètres (Err :504).
Détails complémentaires :
Détails spécifiques à la fonction SOMME.SI
- SOMME.SI n'autorise qu'un seul critère de correspondance. Pour additionner des cellules selon plusieurs critères, utilisez la fonction SOMME.SI.ENS.
- La correspondance par défaut effectuée par SOMME.SI est insensible à la casse. Cependant, une correspondance sensible à la casse peut être effectuée lors de l'utilisation d'une expression régulière en incluant le modificateur de mode "(?-i)" dans l'expression régulière, comme illustré dans l'un des exemples ci-dessous.
- Le comportement de SOMME.SI est affecté par plusieurs paramètres disponibles dans la boîte de dialogue ▸ ▸ ▸ ( ▸ ▸ ▸ sur macOS).
- Si la case à cocher Les critères de recherche = et <> doivent s'appliquer à des cellules entières est cochée, alors la condition "red" correspondra uniquement "red" ; si elle n'est pas cochée, elle correspondra à "red", "Fred", "red herring".
- Si la case à cocher Activer les caractères génériques dans les formules est cochée, la condition correspondra à l'aide de caractères génériques ; par exemple, "b?g" correspondra à "bag", "beg", "big", "bog" et "bug".
- Si la case à cocher Activer les expressions régulières dans les formules est cochée, la condition correspondra à l'aide d'expressions régulières - par exemple, "r.d" correspondra à "red", "rid" et "rod", tandis que "red.*" correspondra à "red", "redraw" et "redden".
- La coche de la case Sensible à la casse n'a aucun impact sur le fonctionnement de SOMME.SI.
Informations générales sur les expressions régulières de Calc
- Une expression régulière est une chaîne de caractères définissant un modèle de texte à mettre en correspondance. Des informations plus détaillées et générales sont disponibles sur la page Wikipédia Expression régulière.
- Les expressions régulières sont largement utilisées dans de nombreux domaines et de nombreux processeurs d'expressions régulières sont disponibles. Calc utilise le package open source Regular Expressions de International Components for Unicode (ICU). Consultez leur documentation Regular Expressions pour plus de détails, notamment une définition complète de la syntaxe des expressions régulières ICU.
- De plus, le système d'aide de LibreOffice fournit une liste d'expressions régulières de haut niveau.
- Le moteur d'expressions régulières de Calc prend en charge les groupes de capture numérotés, qui permettent d'identifier les sous-plages d'une correspondance et de les utiliser dans un texte de remplacement. Les parenthèses permettent de regrouper les composants d'une expression régulière et de créer un groupe de capture numéroté. Pour insérer un groupe de capture dans un texte de remplacement, utilisez la forme "$n", où n est le numéro du groupe de capture.
Informations générales sur les caractères génériques de Calc
Les caractères génériques sont des caractères spéciaux qui peuvent être utilisés dans les chaînes de recherche passées en arguments à certaines fonctions Calc ; ils peuvent également servir à définir des critères de recherche dans la boîte de dialogue Rechercher et remplacer. L'utilisation de caractères génériques permet de définir des paramètres de recherche plus avancés avec une seule chaîne de recherche.
Calc prend en charge les caractères génériques ou les expressions régulières comme arguments, selon les paramètres actifs de l'application. Par défaut, les caractères génériques sont pris en charge à la place des expressions régulières.
Pour être sur que les caractères génériques sont pris en charge, allez à Activer les caractères génériques dans les formules
est sélectionnée. Notez que vous pouvez utiliser cette boîte de dialogue pour passer aux expressions régulières en choisissant Activer les expressions régulières dans les formules
ou choisir de ne prendre en charge ni les caractères génériques ni les expressions régulières.
Le tableau suivant identifie les caractères génériques pris en charge par Calc.
Caractère générique | Description |
---|---|
? (point d'interrogation) | Correspond à n'importe quel caractère. Par exemple, la chaîne de recherche "b?g" correspond à "bag" et "beg", mais pas à "boog" ni à "mug". Notez qu'elle ne correspond pas non plus à "bg", car "?" doit correspondre à exactement un caractère. Le caractère générique "?" ne correspond pas à une correspondance à zéro caractère. |
* (astérisque) | Correspond à n'importe quelle séquence de caractères, y compris une chaîne vide. Par exemple, la chaîne de recherche "*cast" correspondra à "cast", "forecast" et "outcast", mais pas à "forecaster" avec les paramètres par défaut de Calc. Si l'option Les critères de recherche = et <> doivent s'appliquer à des cellules entières est désactivée dans ▸ ▸ ▸ , "forecaster" correspondra à la chaîne de recherche "*cast".
|
~ (tilde) | Échappe la signification spéciale d'un point d'interrogation, d'un astérisque ou d'un caractère tilde qui suit immédiatement le caractère tilde. Par exemple, la chaîne de recherche "why~?" correspond à "why?" mais ne correspondra pas à "whys" ni à "why~s". |
Les comparaisons de caractères génériques ne sont pas sensibles à la casse, donc "A?" correspondra à la fois à "A1" et à "a1".
Ces caractères génériques sont pris en charge dans Calc et Microsoft Excel. Par conséquent, si l'interopérabilité entre les deux applications est nécessaire, privilégiez les caractères génériques aux expressions régulières. À l'inverse, si l'interopérabilité n'est pas indispensable, envisagez d'utiliser des expressions régulières pour des fonctionnalités de recherche plus performantes.
Exemples :
Exemples de base
Formule | Description | Renvoie |
---|---|---|
=SOMME.SI(A1:A9; "<0") où les cellules A1 à A9 contiennent respectivement les nombres -1, 2, -3, 4, -5, 6, -7, 8 et -9. | Ici, la fonction additionne les nombres négatifs dans la plage de cellules A1:A9. | −25 |
=SOMME.SI(A1:A9; F1) où les cellules A1 à A9 contiennent respectivement les nombres -1, 2, -3, 4, -5, 6, -7, 8 et -9 et la cellule F1 contient la chaîne ">=0" (saisie sans saisir les guillemets doubles). | Ici, la fonction additionne les nombres non négatifs dans la plage de cellules A1:A9. | 20 |
=SOMME.SI(B2:B4; "<"&F2; C2:C4) où les cellules B2 à B4 contiennent respectivement les nombres 7, 9 et 11 ; les cellules C2 à C4 contiennent respectivement les nombres 4, 5 et 6 ; et la cellule F2 contient le nombre 10. | Ici, la fonction détermine que les valeurs dans les cellules B2 et B3 sont inférieures à 10 et additionne donc les valeurs dans les cellules C2 et C3. | 9 |
=SOMME.SI(D1:D9; "abricots"; E1:E9) où les cellules D1, D4, D5, D6 et D9 contiennent la chaîne "abricots" ; les cellules D2, D3, D7 et D8 contiennent le texte "poires" ; et les cellules E1 à E9 contiennent respectivement les nombres 12, 19, 10, 27, 97, 73, 79, 71 et 40, représentant une quantité du fruit correspondant. | Ici, la fonction calcule la quantité totale d'abricots. | 249 |
Autres exemples
Les exemples de cette sous-section sont basés sur une petite base de données de données de vente d’équipements sportifs, les données étant organisées comme dans le tableau suivant.
A | B | C | D | E | |
---|---|---|---|---|---|
1 | Date | Valeur des ventes | Catégorie | Région | Employé |
2 | 2021-10-02 | $1,508 | Golf | East | Hans |
3 | 2021-10-02 | $410 | Tennis | North | Kurt |
4 | 2021-10-02 | $2,340 | Sailing | South | Ute |
5 | 2021-10-03 | $4,872 | Tennis | East | Brigitte |
6 | 2021-10-06 | $3,821 | Tennis | South | Fritz |
7 | 2021-10-06 | $2,623 | Tennis | East | Fritz |
8 | 2021-10-07 | $3,739 | Golf | South | Fritz |
9 | 2021-10-08 | $4,195 | Golf | West | Ute |
10 | 2021-10-10 | $2,023 | Golf | East | Hans |
Formule | Description | Renvoie |
---|---|---|
=SOMME.SI(B2:B10; ">=4000") | Ici, la fonction additionne les entrées numériques dans les données Valeur des ventes qui sont supérieures ou égales à 4 000 $. | $9,067 |
=SOMME.SI(E2:E10; "ute"; B2:B10) | Ici, la fonction localise les entrées pour Ute dans les données Employé et additionne les entrées numériques correspondantes dans les données Valeur des ventes. | $6,535 |
=SOMME.SI(DonnéesCatégorie; "golf"; B2:B10) où la plage nommée DonnéesCatégorie a été créée pour couvrir la plage de cellules C2:C10. | Ici, la fonction localise les entrées pour le golf dans les données Catégorie et additionne les entrées numériques correspondantes dans les données Valeur des ventes. | $11,465 |
=SOMME.SI(D2:D10; F1; B2:B10) où la cellule F1 contient le texte ">=south" (saisi sans taper les guillemets doubles). | Ici, la fonction localise les entrées pour "south" et "west" dans les données Région et additionne les entrées numériques correspondantes dans les données Valeur des ventes. | $14,095 |
=SOMME.SI(A2:A10; DATE(2021; 10; 2); B2:B10) | Ici, la fonction localise les entrées pour le 2021-10-02 dans la colonne Date et additionne les entrées numériques correspondantes dans les données Valeur des ventes. | $4,258 |
=SOMME.SI(A2:A10; ">="&DATE(2021; 10; 7); B2:B10) | Ici, la fonction localise les entrées datées du 2021-10-07 ou après dans la colonne Date et additionne les entrées numériques correspondantes dans les données Valeur des ventes. | $9,957 |
=SOMME.SI(D2:D10; "????"; B2:B10) | Cet exemple ne fonctionnera comme décrit ici que si les caractères génériques sont activés. Ici, la fonction localise les entrées de quatre caractères dans les données Région (East et West) et additionne les entrées numériques correspondantes dans les données Valeur des ventes. | $15,221 |
=SOMME.SI(E2:E10; "^f.*"; B2:B10) | Cet exemple ne fonctionnera comme décrit ici que si les expressions régulières sont activées. Ici, la fonction localise les entrées des données Employé commençant par la lettre "f" ou "F" (Fritz) et additionne les entrées numériques correspondantes des données Valeur des ventes. | $10,183 |
=SOMME.SI(E2:E10; "(?-i)ute"; B2:B10) | Cet exemple ne fonctionnera comme décrit ici que si les expressions régulières sont activées. Le modificateur de mode "(?-i)" de l'expression régulière est sensible à la casse ; aucune entrée n'est donc trouvée dans les données Employé. Comparez cela avec le deuxième exemple de ce tableau. | $0 |
Fonctions LibreOffice associées :
Standard ODF :
Fonctions Excel relatives (ou similaires) :
SUMIF