
Formule générique
=IF(F5="all",SUM(D:D),SUMIF(C:C,A1,D:D))
Sommaire
Pour activer une liste déroulante avec une option «tous», vous pouvez utiliser la validation des données pour la liste déroulante et une formule basée sur les fonctions IF, SUM et SUMIF pour calculer une somme conditionnelle. Dans l'exemple illustré, la formule en G5 est:
=IF(F5="all",SUM(qty),SUMIF(color,F5,qty))
où «couleur» (C5: C15) et «quantité» (D5: D15) sont des plages nommées.
Exemple
Lorsque F5 est sélectionné, la liste déroulante suivante apparaît:
Lorsque l'utilisateur effectue une sélection, la somme correcte est renvoyée.
Explication
La liste déroulante est configurée avec une règle de validation des données simple basée sur une "liste":
Red,Blue,Green,All
Les plages nommées «couleur» (C5: C15) et «quantité» (D5: D15) sont fournies à titre indicatif uniquement.
La formule dans G5 effectue une somme conditionnelle basée sur la sélection actuelle de la liste déroulante dans F5. La fonction la plus externe est une instruction IF, qui vérifie si la sélection est "tout":
=IF(F5="all",SUM(qty)
Si tel est le cas, la formule renvoie la somme de la colonne de quantité comme résultat final.
Si F5 est une valeur à l'exception de "tous" (c'est-à-dire "rouge", "bleu" ou "vert"), le test logique renvoie FALSE et IF achemine la formule vers la fonction SUMIF:
SUMIF(color,F5,qty)
SUMIF calcule une somme conditionnelle basée sur la valeur de F5 et renvoie le résultat.