Excel에서 범위의 최대 절대 값을 찾는 함수가 있습니까?


15

Excel에서 다음과 같은 함수를 찾고 있습니다.

= MAX(ABS(A1:A10))

를 제외하고 ABS()는 숫자의 범위를 갖지 않습니다.

내가 생각해 낼 수있는 최선은 다음과 같습니다.

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

그것은 속임수를하지만 모든 지옥으로 지저분하며 더 좋은 방법이 없다고 믿을 수 없습니다. 어떤 아이디어?

답변:


23

배열 수식으로 입력해야합니다. Ctrl. + Shift+ 를 눌러 확인하십시오 Enter. 수식이 {=MAX(ABS(A1:A10))}올바르게 완료된 것처럼 나타납니다 .


4
나 자신과 같은 마비 두개골에 대한 참고 사항 : 수식을 입력 한 다음 Ctrl + Shift + Enter를 누릅니다 .Ctrl + Shift + Enter를 먼저 누른 다음 수식을 입력하려고했는데 실제로 제대로 작동하지 않았습니다. : P
Ben

행렬 수식과 관련하여 Excel은 사용자에게 친숙하지 않습니다. 그것은 실제로 성가신 일입니다.
Pedro77

배열 수식을 반드시 사용해야하는 것은 아닙니다 ( 이것이것 참조 . 또한 불편할 수도 있습니다)
sancho.s Reinstate Monica

3
범위에 숫자가 아닌 데이터 (예 : 텍스트 또는 수식 오류)도 포함되어 있으면 오류가 반환됩니다.
CBRF23

22

배열을 좋아하지 않으므로 다음을 사용합니다.

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

최소 숫자의 절대 값이 최대 값이 음수이면 최대 값보다 클 때만 작동합니다.


범위에 숫자가 아닌 데이터가 포함 된 경우 (예 : 텍스트 또는 수식 오류)
CBRF23

니스, 이것은 Excel에서 누락 된 기능입니다. 왜 max (abs ()) ??
Pedro77

@Julie 지금 +5 년 된 답변에는 여전히 청중이 있습니다. :) 배열 함수를 사용하지 않는 대안을 제안합니다. 여전히 배열 기능을 싫어합니까? 배열 함수를 좋아하지 않는 이유에 대해 언급 할 수 있습니까? 고려 사항에 대한 자세한 내용을 알고 있으면 나와 다른 독자가 어떤 상황에서 어떤 솔루션을 사용하고 싶은지 평가하는 데 도움이 될 수 있습니다.
Paul van Leeuwen

이것은 OpenOffice에서도 작동합니다
Wolfgang Fahl

2

이 공식을 사용해보십시오 ( 여기에서 )

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

그것은 결합합니다 :

  • 위의 답변 에서와 같이 비 배열 수식 의 이점 (배열이 아닌 경우의 이점에 대해서는 를 참조하십시오 ).
  • 위의 답변과 같이 대상 범위를 한 번만 입력하십시오 (오류가 발생하지 않고 수정하기 쉽습니다).

1

이 VBA 솔루션도 작동합니다.

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. VBA 편집기를 엽니 다 ( Alt+ F11)
  2. 오른쪽 창에 새 모듈 삽입
  3. 코드를 모듈에 복사하여 붙여 넣기
  4. Excel로 돌아가서 사용 =absMax(A1:A3)

여기에 이미지 설명을 입력하십시오


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

이렇게하면 절대 값이 가장 큰 값이 범위를 벗어나지 만 절대 값이 아닌 원래 부호 (+/-)로 실제 값을 반환합니다.


(1) 아시다시피, 이것은 질문에 대한 답변이 아닙니다 . 다른 질문에 대한 답변입니다. 우리는 그들이 가지고있는 질문에 대한 답변을 유지하는 것을 선호합니다. 이 답변을 실제로 게시하려면 해당 질문을 "질문"한 다음 답변을 원할 수 있습니다. ( 당신은 그렇게 할 수 있지만, 명성 이 낮기 때문에 자신의 질문에 대답하기 전에 몇 시간을 기다려야 할 수도 있습니다.)
G-Man은 '복귀 모니카'라고

(2) OP는 이미 질문에 대한 해답을 가지고 있으며“모두 지저분하고 더 나은 방법이 없다고 믿을 수 없기 때문에 거부합니다. 그렇다면 왜 이미 가지고있는 것보다 두 배나 긴 답변을 게시해야합니까? 그 문제에 대해 왜 말하지 =IF(ABS(MAX(A1:A10))>ABS(MIN(A1:A10)),MAX(A1:A10),MIN(A1:A10))않습니까?
G-Man, 'Reinstate Monica'라고

@ G-Man 이것은 지금까지 게시 된 유일한 공식 솔루션으로, 원래 부호를 그대로 유지합니다. OP는 명시 적으로 요청하지 않았지만 나에게 도움이되었습니다. 나는 당신의 두 평가에 정중하게 동의하지 않습니다.
포틀랜드 러너

0

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


Julie의 대답과는 어떻게 다릅니 까?
phuclv

이것은 질문에 대한 답변입니다 (늦게, 예). Julie의 경우와 비슷하지만 약간 덜 효율적이지만 IMHO는 스프레드 시트를 상속받는 사람에게는 좀 더 분명합니다.
xenoid

-1
=IF(MAX(A1:A10)+MIN(A1:A10)>0, MAX(A1:A10), MIN(A1:A10))

2
설명이 포함 된 답변을 선호합니다.
Scott
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.