
Formule générique
=SUMPRODUCT(SUMIF(codes,lookups,values))
Sommaire
Pour additionner les valeurs extraites par une opération de recherche, vous pouvez utiliser SUMPRODUCT avec la fonction SUMIF.
Dans l'exemple illustré, la formule en H5 est:
=SUMPRODUCT(SUMIF(codes,C5:G5,values))
Où codes est la plage nommée J4: J5 et les valeurs est la plage nommée K4: K5.
Le contexte
Parfois, vous souhaiterez peut-être additionner plusieurs valeurs récupérées par une opération de recherche. Dans cet exemple, nous voulons additionner le temps de vacances pris chaque semaine sur la base d'un système de code, où F = une journée complète et H = une demi-journée. Si un jour est vide, aucun temps n'a été pris.
Le défi est de trouver une formule qui recherche et additionne les valeurs associées à F et H.
Explication
Le noyau de cette formule est SUMIF, qui est utilisé pour rechercher les valeurs correctes pour F et H. L'utilisation de SUMIF pour rechercher des valeurs est une technique plus avancée qui fonctionne bien lorsque les valeurs sont numériques et qu'il n'y a pas de doublons dans la "table de recherche" ".
L'astuce dans ce cas est que le critère de SUMIF n'est pas une valeur unique, mais plutôt un tableau de valeurs dans la plage C5: G5:
=SUMPRODUCT(SUMIF(codes,C5:G5,values))
Parce que nous donnons à SUMIF plusieurs critères, SUMIF renverra plus d'un résultat. Dans l'exemple illustré, le résultat de SUMIF est le tableau suivant:
(1,0,5,0,0,0)
Notez que nous obtenons correctement 1 pour chaque «F» et 0,5 pour chaque «H»., Et les valeurs vides dans la semaine génèrent zéro.
Enfin, nous utilisons SUMPRODUCT pour additionner les valeurs du tableau renvoyé par SUMIF. Comme il n'y a qu'un seul tableau, SUMPRODUCT renvoie simplement la somme de toutes les valeurs.