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?
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.
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.
Essayez cette formule (de ici )
=MAX(INDEX(ABS(A1:A10),0,1))
Il combine:
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
=absMax(A1:A3)
= MAX (MAX (X1: X5), ABS (MIN (X1: X5)))
=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.