Суммирование абсолютных значений (Microsoft Excel)
У Джозефа есть рабочий лист, содержащий список значений. Некоторые из этих значений выше нуля, а другие ниже. Он может использовать функцию СУММ для вычисления суммы значений, но на самом деле он хочет вычислить сумму абсолютных значений каждого элемента в списке. Таким образом, сумма трех значений -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 [Суммирование абсолютных значений]
.