Joseph a une feuille de calcul qui contient une liste de valeurs. Certaines de ces valeurs sont au-dessus de zéro et d’autres en dessous. Il peut utiliser la fonction SOMME pour calculer une somme des valeurs, mais il souhaite vraiment calculer une somme de la valeur absolue de chaque élément de la liste. Ainsi, la somme des trois valeurs -33, 14, -5 serait 52 au lieu de -24.

Il n’existe aucune fonction intrinsèque que vous pouvez utiliser pour créer la somme souhaitée, mais vous pouvez créer une formule pour effectuer la tâche. Une méthode consiste à utiliser la fonction SUMIF, de la manière suivante:

=SUMIF(A1:A10,">0")-SUMIF(A1:A10,"<0")

Le premier SUMIF additionne toutes les valeurs qui sont supérieures à zéro et le second additionne toutes celles inférieures à zéro. Ainsi, avec les quatre valeurs -33, 14, -5, 42, le premier SUMIF résulterait en une somme de 56 (14 + 42) et le second en une somme de -38 (-33 + -5). Lorsque vous soustrayez la deuxième somme de la première (56 – -38), vous obtenez une réponse finale de 94, qui est la somme de toutes les valeurs absolues.

Une autre approche consiste à utiliser la fonction SUMPRODUCT. La formule suivante produira le résultat souhaité:

=SUMPRODUCT(ABS(A1:A10))

La fonction est généralement utilisée pour multiplier les différents éléments de tableaux les uns par les autres, puis additionner ces produits. Étant donné qu’un seul tableau (A1: A10) est fourni, aucune multiplication n’est effectuée, mais une somme des valeurs absolues souhaitées est renvoyée.

Vous pouvez également obtenir le résultat souhaité en utilisant une formule matricielle, une fonctionnalité pratique mais rarement utilisée d’Excel. En supposant que vos valeurs sont dans la plage A1: A10, tapez cette formule:

=SUM(ABS(A1:A10))

N’appuyez pas sur Entrée; à la place, appuyez sur Ctrl + Maj + Entrée, ce qui signifie qu’il s’agit d’une formule matricielle. Si la formule est saisie correctement, vous verrez des accolades autour de la formule dans la barre de formule:

{=SUM(ABS(A1:A50))}

La formule crée en interne la colonne intermédiaire (qui est un tableau de valeurs) qui sont les valeurs absolues individuelles de A1: A10. Il additionne ensuite ce tableau et affiche le résultat.

Enfin, si vous préférez, vous pouvez créer votre propre fonction définie par l’utilisateur (une macro) qui renverra la somme des valeurs absolues dans une plage.

Voici une macro qui accomplira cette tâche:

Function SumAbs(Rng As Range) As Double     Result = 0     On Error GoTo Done     For Each element In Rng         Result = Result + Abs(element)

Next element Done:

SumAbs = Result End Function

Vous pouvez utiliser la fonction en entrant une formule simple dans votre feuille de calcul:

=SumAbs(A1:A10)

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (2913) s’applique à Microsoft Excel 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban d’Excel (Excel 2007 et versions ultérieures) ici:

lien: / excelribbon-Summing_Absolute_Values ​​[Addition des valeurs absolues].