Résumé
Pour additionner des cellules dont les cellules adjacentes sont vides, on peut utiliser plusieurs solutions. La solution la plus pratique est la fonction SOMME.SI.ENS. Dans l’exemple ci-dessus, la formule somme si vide en G3 est :
= SOMME.SI.ENS( C3:C14 ; D3:D14 ; "" )
Cette formule permet de faire la somme des cellules dans la plage C3:C14 si les cellules dans la plage D3:D14 sont vides. Attention, avec cette syntaxe, Excel considère les cellules vides et les cellules renvoyant un résultat nul comme équivalentes.
Formule Excel – Somme si vide
= SOMME.SI.ENS( plage_somme ; plage_critère ; "" )
Explications
Dans notre cas, l’objectif est de cumuler les cellules dont les cellules adjacentes sont vides ou nulles (égales à « »). On souhaite alors effectuer une addition en appliquant un critère. Il existe plusieurs fonctions pour arriver à ce résultat :
- La fonction SOMME.SI ;
- La fonction SOMME.SI.ENS ;
- La fonction SOMMEPROD ;
- La fonction FILTRE associée à la fonction SOMME.
La solution la plus simple et pratique est d’utiliser la fonction SOMME.SI.ENS. Elle permet d’ajouter d’autres critères si on le souhaite et sa syntaxe est facile à maîtriser.
Fonction SOMME.SI.ENS
La fonction SOMME.SI.ENS est une fonction Excel permettant d’additionner des cellules qui remplissent ou un plusieurs critères. Dans notre exemple, notre seul critère est de limiter la somme aux cellules dont les cellules adjacentes sont vides. Nous devons utiliser un opérateur logique (>, <, <>, =). La fonction SOMME.SI.ENS s’écrit de la façon suivante :
= SOMME.SI.ENS( plage_somme ; plage_critère1 ; critères1 ; ... )
Nous voulons ici tester une seule condition, à savoir limiter la somme aux cellules vides. Pour cela, le critère s’écrit de la façon suivante « ». Par cette syntaxe nous indiquons à Excel vouloir les cellules qui sont vides.
= SOMME.SI.ENS( C3:C14 ; D3:D14 ; "" )
Le résultat sera l’addition des valeurs dans C3:C14 dont les cellules en D3:D14 sont vides.
Fonction SOMME.SI
La fonction SOMME.SI a un mode de fonctionnement similaire à la fonction SOMME.SI.ENS. Les seules différences sont :
- ses arguments sont inversés (attention à la position des plages de valeurs) ;
- elle n’accepte qu’une seule condition.
J’utilise peu cette fonction car je veux me laisser la possibilité d’ajouter plus tard d’autres critères. Je me tourne alors vers la fonction SOMME.SI.ENS. Voici la syntaxe de la fonction SOMME.SI :
= SOMME.SI( plage ; critère ; [somme_plage] )
Le dernier argument est optionnel. S’il est manquant, c’est sur le 1er argument que sera utilisé pour faire la somme. Dans notre cas voici la formule qu’il faudrait utiliser avec la fonction SOMME.SI :
= SOMME.SI( D3:D14 ; "" ; C3:C14 )
Fonction SOMMEPROD
La fonction SOMMEPROD est une solution viable mais plus complexe. Elle se révèle très intéressante dans un certain nombre de cas. La formule qu’il faudrait utiliser serait :
= SOMMEPROD( ( D3:D14="" ) * C3:C14 )
Cette formule est à valider avec ctrl+alt+entrée si vous avez une version d’Excel antérieure à Office 365.
La fonction SOMMEPROD permet de multiplier des matrices entre elles. Dans la formule présentée, la première matrice générée est issue d’un test :
= ( D3:D14 = "" )
Celle-ci renverra une liste de valeurs composée de VRAI et FAUX (visible uniquement sur Office 365).
= {FAUX;FAUX;FAUX;VRAI;FAUX;VRAI;FAUX;FAUX;VRAI;FAUX;FAUX;VRAI}
En multipliant cette matrice par une autre matrice, Excel va convertir les VRAI et FAUX par 1 et 0. On obtiendra la logique suivante :
= {0;0;0;1;0;1;0;0;1;0;0;1}*{60;70;80;120;140;65;95;125;145;48;66;129}
équivalent à
= 0*60 + 0*70 + 0*80 + 1*120 + 0*140 + 1*165 + 0*95 + 0*125
+ 1*145 + 0*48 + 0*66 + 1*129
ce qui donne
= {0;0;0;120;0;165;0;0;145;0;0;129}
Grâce à la fonction SOMMEPROD, on obtient le résultat facilement :
= SOMMEPROD( {0;0;0;120;0;165;0;0;145;0;0;129} )
= 559
Fonction FILTRE
Avec la version 365 d’Excel, vous disposez de la fonction FILTRE. Elle permet de générer un tableau à partir d’un ou plusieurs critères. Associée à la fonction SOMME, on peut générer le tableau des valeurs et les additionner. La formule sera la suivante :
= SOMME( FILTRE( C3:C14 ; D3:D14 = "" ; 0) )
Dans cette formule, on filtre la plage de cellules C3:C14 à partir des cellules vides en D3:D14. Le résultat renvoyé sera une liste de valeurs. La fonction SOMME permettra de les additionner.
= SOMME( {120;165;145;129} )
Formules en lien
- Somme si non vide
- Compter le nombre de cellules contenant une formule
- SOMME.SI plusieurs critères
- Compter le nombre de cellules égales à un texte
- Compter le nombre de cellules contenant une partie du texte (mot, caractère)
- Compter nombre de valeurs texte différentes
- Compter le nombre de cellules non vides
- NB.SI avec plusieurs critères
- SOMME.SI.ENS avec plusieurs critères sur la même colonne
- SOMMEPROD avec SI
- Trouver des doublons avec NB.SI
- Somme si différent de
- Somme si contient
- Somme si date est entre deux dates
- MIN.SI.ENS sensible à la casse
- MAX sensible à la casse
- MAX.SI.ENS sensible à la casse
- Nombre si date comprise entre
- Compter le nombre de cellules contenant une date
- Arrondir à 0,5
- Arrondir à la dizaine