Чи є функція в 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
Примітка до numb-черепів, як я: Введіть формулу, потім натисніть Ctrl + Shift + Enter, я намагався спочатку натиснути клавіші ctrl + shift + enter, потім введіть формулу, що не дуже добре працювало. : P
Бен

Excel не є зручним для користувачів, коли мова йде про матричні формули. Це поведінка насправді дратує.
Педро77

Не обов’язково використовувати формулу масиву (див. Це та це . Більше того, це може бути незручно.
sancho.s Відновити Моніку

3
Це повертає помилку, якщо діапазон також містить нечислові дані (наприклад, помилки тексту чи формули)
CBRF23

22

Мені не подобаються масиви, тому я використовував би наступне:

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

Це працює, тому що єдиний раз, коли абсолютний показник мінімального числа буде більшим, ніж максимальне значення, якщо це від'ємне число.


Це працює, якщо ваш діапазон також містить нечислові дані (наприклад, помилки тексту чи формули)
CBRF23

Приємно, це відсутність у excel, чому б не max (abs ()) ??
Pedro77

@Julie, ваша відповідь на сьогодні + 5 років все ще має аудиторію. :) Ви пропонуєте альтернативу, яка уникає використання функції масиву, яку ви вказуєте, що вважаєте плюсом. Ви все ще не любите функції масиву? Чи можете ви прокоментувати, чому ви не любите (або не любили) функції масиву? Знання більше про ваші міркування може допомогти мені та іншим читачам оцінити, яке рішення ми б хотіли використати в якому контексті.
Пол ван Левен

Це також працює у OpenOffice
Вольфганг Фаль

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) ОП вже має діючу відповідь на питання, і відхиляє його, оскільки "це безладно, як усе чорт, і я не можу повірити, що немає кращого способу". То чому б опублікувати відповідь, що вдвічі довший за той, який у нього вже є? З цього питання, чому б не сказати просто =IF(ABS(MAX(A1:A10))>ABS(MIN(A1:A10)),MAX(A1:A10),MIN(A1:A10))?
G-Man каже: "Відновіть Моніку"

@ G-Man Це єдине рішення формули, розміщене до цих пір, яке зберігає оригінальний знак недоторканим, який явно не просив ОП, але був корисним для мене. Я з повагою не згоден з обома вашими оцінками.
Портленд Бігун

0

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


так чим він відрізняється від відповіді Джулі?
phuclv

Це відповідь на запитання (запізнілий, так). Так, як і у Джулі, можливо, трохи менш ефективно, але IMHO трохи очевидніше для того, хто успадковує електронну таблицю.
ксеноїд

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.