У Джозефа есть рабочий лист, содержащий список значений. Некоторые из этих значений выше нуля, а другие ниже. Он может использовать функцию СУММ для вычисления суммы значений, но на самом деле он хочет вычислить сумму абсолютных значений каждого элемента в списке. Таким образом, сумма трех значений -33, 14, -5 будет 52 вместо -24.

Нет внутренней функции, которую можно использовать для создания желаемой суммы, но вы можете создать формулу для выполнения задачи. Один из способов — использовать функцию СУММЕСЛИ следующим образом:

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

Первая СУММЕСЛИ суммирует все значения, которые больше нуля, а вторая суммирует все те, которые меньше нуля. Таким образом, с четырьмя значениями -33, 14, -5, 42, первая СУММЕСЛИ дает сумму 56 (14 + 42), а вторая дает сумму -38 (-33 + -5). Когда вы вычитаете вторую сумму из первой (56 — -38), вы получаете окончательный ответ 94, что является суммой всех абсолютных значений.

Другой подход — использовать функцию СУММПРОИЗВ. Следующая формула даст желаемый результат:

=SUMPRODUCT(ABS(A1:A10))

Эта функция обычно используется для умножения различных элементов массивов друг на друга, а затем для суммирования этих произведений. Поскольку предоставляется только один массив (A1: A10), умножение не выполняется, но возвращается сумма желаемых абсолютных значений.

Вы также можете получить желаемый результат, используя формулу массива — удобную, но редко используемую функцию Excel. Предполагая, что ваши значения находятся в диапазоне A1: A10, введите эту формулу:

=SUM(ABS(A1:A10))

Не нажимайте Enter; вместо этого нажмите Ctrl + Shift + Enter, что означает, что это формула массива. Если формула введена правильно, вы увидите фигурные скобки вокруг формулы на панели формул:

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

Формула внутренне создает промежуточный столбец (который представляет собой массив значений), который представляет собой отдельные абсолютные значения A1: A10. Затем он суммирует этот массив и отображает результат.

Наконец, если вы предпочитаете, вы можете создать свою собственную определяемую пользователем функцию (макрос), которая будет возвращать сумму абсолютных значений в диапазоне.

Следующий макрос выполнит эту задачу:

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

Вы можете использовать эту функцию, введя простую формулу в свой рабочий лист:

=SumAbs(A1:A10)

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (12615) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:

link: / excel-Summing_Absolute_Values ​​[Суммирование абсолютных значений].