web-dev-qa-db-fra.com

Existe-t-il une fonction dans Excel permettant de rechercher la valeur absolue maximale d'une plage?

Je cherche une fonction dans Excel qui ressemble à quelque chose comme

= MAX(ABS(A1:A10))

sauf que ABS() ne prend pas une plage de nombres.

Le mieux que je puisse trouver est:

= MAX(ABS(MIN(A1:A10)),ABS(MAX(A1:A10)))

Ça fait l'affaire, mais c'est désordonné et je n'arrive pas à croire qu'il n'y ait pas de meilleur moyen. Des idées?

15
Ben

Vous devez l'entrer sous forme de formule matricielle. Faites-le en appuyant sur Ctrl. +Shift+Enter. La formule apparaîtra comme {=MAX(ABS(A1:A10))} si c'est fait correctement.

22
Excellll

Je n'aime pas les tableaux, j'utiliserais donc les éléments suivants:

=MAX(-MIN(range), MAX(range))

Cela fonctionne car le seul moment où le nombre absolu du nombre minimal est supérieur à celui de la valeur maximale est le nombre négatif.

21
Julie

Essayez cette formule (de ici )

=MAX(INDEX(ABS(A1:A10),0,1))

Il combine:

2
sancho.s

Cette solution VBA fonctionne aussi.

Public Function absMax(values As Range)
    'returns the largest absolute value in a list of pos and neg numbers

    Dim myArray() As Double, i As Integer, numel As Integer
    numel = values.count
    ReDim myArray(1 To numel)
    For i = 1 To numel
        myArray(i) = Abs(values(i))
    Next i
    absMax = WorksheetFunction.Max(myArray)

End Function
  1. Ouvrez votre éditeur VBA (Alt+F11)
  2. Insérer un nouveau module dans le volet de droite
  3. Copier et coller le code dans le module
  4. Retournez dans Excel et utilisez =absMax(A1:A3)

enter image description here

1
VeryBadAss

= MAX (MAX (X1: X5), ABS (MIN (X1: X5)))

0
TAZIOU
=IF(ABS(LARGE(A1:A10,1))>ABS(SMALL(A1:A10,1)),LARGE(A1:A10,1),SMALL(A1:A10,1))

Ceci trouvera la valeur avec la plus grande valeur absolue en dehors de la plage mais retournera toujours la valeur réelle avec son signe d'origine (+/-) et non la valeur absolue.

0
Rishi