Продолжаем серию статей о математических формулах в Excel. Сегодня разберем формулу записи «модуль в Excel». Модуль числа применяется для определения абсолютной величины числа, например, длины отрезка. Ниже мы приводим несколько способов расчета модуля числа в Эксель, основная функция — ABS, а дополнительный расчет при помощи функций ЕСЛИ и КОРЕНЬ.
Как следует из определения, модуль числа — это неотрицательное число, значение самого числа. Т.е. если у нас есть отрицательное число -7, то по модулю оно будет равняться 7. Записывается модуль как две вертикальные линии:
|-7| = 7
Для чего применяется? Если у нас есть значение вектора равное -7, где минус обозначает его обратное направление, то, чтобы найти длину самого вектора, нам необходимо высчитать модуль числа (т.к. длина не может быть отрицательной величиной).
Так же довольно часто использование модуля можно встретить при расчете отрицательного значения времени, но про этом у нас есть отдельная статья.
Содержание
- Рассчитать модуль в Excel, функция ABS
- Как посчитать модуль через ЕСЛИ, альтернативный способ
- Модуль числа и КОРЕНЬ
- Модуль числа в VBA
- Похожие статьи
Рассчитать модуль в Excel, функция ABS
В большинстве языков программиро вания модуль числа находится функцией ABS (от абсолютное значение, Absolute). Наш любимый Excel не исключение.
В ячейке введем формулу:
=ABS()
Как следует из описания функции, значение такой формулы будет равно 7.
Как посчитать модуль через ЕСЛИ, альтернативный способ
По сути, действие функции «Модуль» — это определение отрицательное число или нет и передача его значения. То есть легко справится основная функция условия =ЕСЛИ().
=ЕСЛИ(A1<0;A1*-1;A1)
Я лично про ABS всегда забываю и пишу через ЕСЛИ.
Модуль числа и КОРЕНЬ
Как мне подсказали, есть особенно хитрый способ найти модуль числа через функцию КОРЕНЬ. Возводим число во вторую степень и находим из выражения корень.
=КОРЕНЬ(A1*A1)
Сам бы не додумался.
Пример файла с 3мя расчетами прикладываю тут.
Модуль числа в VBA
Как мы уже сказали, в большинстве языков программирования нахождение модуль проходит при помощи функции ABS. VBA не исключение.
Чтобы записать расчет в коде, пропишите примерно следующее:
A=Abs(-7)
Здесь А будет равно 7.
В целом вот так, если что-то нужно пояснить пишите в комментарии и не стесняйтесь.
Динамическое создание стандартного программного модуля из кода VBA Excel. Запись в стандартный модуль текста процедур. Программное удаление модуля.
Создание стандартного модуля
Стандартный программный модуль создается как новый элемент коллекции VBComponents проекта VBA:
Dim myModule As Object Set myModule = ThisWorkbook.VBProject.VBComponents.Add(1) |
Число (1) означает, что создается стандартный модуль, если заменить его на (3), будет создана форма.
Запись текста процедуры в модуль
Текст процедуры
Следующая процедура записывает в первые две ячейки первой строки рабочего листа Excel два числа, перемножает их и результат записывает в третью ячейку первой строки, а также окрашивает задействованные три ячейки в разные цвета:
Private Sub MyNewSub() Cells(1, 1) = 15 Cells(1, 1).Interior.Color = vbYellow Cells(1, 2) = 25 Cells(1, 2).Interior.Color = vbGreen Cells(1, 3) = Cells(1, 1) * Cells(1, 2) Cells(1, 3).Interior.Color = vbCyan End Sub |
Программная запись текста процедуры в модуль может быть осуществлена с помощью метода CodeModule.AddFromString или метода CodeModule.InsertLines.
Метод CodeModule.AddFromString
Метод CodeModule.AddFromString всегда записывает текст процедуры сразу после раздела Declarations и других строк, не относящихся к процедурам (например, комментарии). То есть, если в модуле уже есть процедуры, новая будет записана перед самой первой из них.
Пример кода VBA Excel, записывающего текст процедуры в программно созданный стандартный модуль «myModule» методом CodeModule.AddFromString:
myModule.CodeModule.AddFromString («Private Sub MyNewSub()» & vbNewLine & _ » Cells(1, 1) = 15″ & vbNewLine & _ » Cells(1, 1).Interior.Color = vbYellow» & vbNewLine & _ » Cells(1, 2) = 25″ & vbNewLine & _ » Cells(1, 2).Interior.Color = vbGreen» & vbNewLine & _ » Cells(1, 3) = Cells(1, 1) * Cells(1, 2)» & vbNewLine & _ » Cells(1, 3).Interior.Color = vbCyan» & vbNewLine & _ «End Sub») |
Метод CodeModule.InsertLines
Метод CodeModule.InsertLines предназначен для построчной записи текста процедуры. Обычно этот метод используется для добавления строк в конце модуля. Перед вставкой новых строк можно определить с помощью свойства CodeModule.CountOfLines количество уже имеющихся строк и начать вставку следующих.
Пример кода VBA Excel, записывающего текст процедуры в программно созданный стандартный модуль «myModule» методом CodeModule.InsertLines:
Dim n As Integer With myModule.CodeModule n = .CountOfLines .InsertLines n + 1, «Private Sub MyNewSub()» .InsertLines n + 2, » Cells(1, 1) = 15″ .InsertLines n + 3, » Cells(1, 1).Interior.Color = vbYellow» .InsertLines n + 4, » Cells(1, 2) = 25″ .InsertLines n + 5, » Cells(1, 2).Interior.Color = vbGreen» .InsertLines n + 6, » Cells(1, 3) = Cells(1, 1) * Cells(1, 2)» .InsertLines n + 7, » Cells(1, 3).Interior.Color = vbCyan» .InsertLines n + 12, «End Sub» End With |
Код с методом InsertLines выглядит несколько аккуратней из-за отсутствия амперсандов и ключевых слов переноса строки (vbNewLine), чем код с методом AddFromString.
Вставка кнопки на рабочий лист
Чтобы продемонстрировать работоспособность процедуры «MyNewSub», записанной в динамически созданный стандартный модуль, нам понадобится кнопка на рабочем листе, которую мы свяжем с этой процедурой.
Программная вставка кнопки из коллекции «Элементы управления формы» на активный рабочий лист Excel:
Dim myButton As Shape Set myButton = ActiveSheet.Shapes.AddFormControl(xlButtonControl, 100, 100, 100, 20) ‘Числа 100, 100, 100, 20 – это значения параметров кнопки Left, Top, Width, Height ‘Выбираем кнопку методом Select, чтобы она перешла в режим редактирования myButton.Select With Selection ‘Меняем надпись на кнопке .Characters.Text = «Новая кнопка» ‘Назначаем кнопке процедуру MyNewSub .OnAction = myModule.Name & «.MyNewSub» End With |
Пример кода в сборе
Динамическое создание стандартного модуля, программная запись в него процедуры «MyNewSub», вставка на рабочий лист кнопки из коллекции «Элементы управления формы» и назначение ей процедуры «MyNewSub»:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
Sub Primer() ‘Создаем стандартный модуль в текущей книге, как новый экземпляр коллекции «VBComponents» Dim myModule As Object Set myModule = ThisWorkbook.VBProject.VBComponents.Add(1) ‘Записываем текст процедуры «MyNewSub» в программно созданный модуль «myModule» Dim n As Integer With myModule.CodeModule n = .CountOfLines .InsertLines n + 1, «Private Sub MyNewSub()» .InsertLines n + 2, » Cells(1, 1) = 15″ .InsertLines n + 3, » Cells(1, 1).Interior.Color = vbYellow» .InsertLines n + 4, » Cells(1, 2) = 25″ .InsertLines n + 5, » Cells(1, 2).Interior.Color = vbGreen» .InsertLines n + 6, » Cells(1, 3) = Cells(1, 1) * Cells(1, 2)» .InsertLines n + 7, » Cells(1, 3).Interior.Color = vbCyan» .InsertLines n + 12, «End Sub» End With ‘Вставляем на активный рабочий лист кнопку из коллекции «Элементы управления формы» Dim myButton As Shape Set myButton = ActiveSheet.Shapes.AddFormControl(xlButtonControl, 100, 100, 100, 20) ‘Меняем надпись на кнопке и назначаем ей процедуру «MyNewSub» myButton.Select With Selection .Characters.Text = «Новая кнопка» .OnAction = myModule.Name & «.MyNewSub» End With End Sub |
Вы можете скопировать процедуру «Primer» в стандартный модуль вашего проекта VBA, запустить ее и ознакомиться с результатами ее работы. Код записан и протестирован в Excel 2016.
Удаление стандартного модуля
Программное удаление стандартного модуля с именем «Module4» из проекта VBA Excel:
Sub RemoveModule() With ThisWorkbook.VBProject .VBComponents.Remove .VBComponents(«Module4») End With End Sub |
При удалении стандартного модуля вручную, VBA Excel перед удалением запрашивает об экспорте модуля на диск. Программным способом модуль удаляется без запроса.
ТРЕНИНГИ
Быстрый старт
Расширенный Excel
Мастер Формул
Прогнозирование
Визуализация
Макросы на VBA
КНИГИ
Готовые решения
Мастер Формул
Скульптор данных
ВИДЕОУРОКИ
Бизнес-анализ
Выпадающие списки
Даты и время
Диаграммы
Диапазоны
Дубликаты
Защита данных
Интернет, email
Книги, листы
Макросы
Сводные таблицы
Текст
Форматирование
Функции
Всякое
Коротко
Подробно
Версии
Вопрос-Ответ
Скачать
Купить
ПРОЕКТЫ
ОНЛАЙН-КУРСЫ
ФОРУМ
Excel
Работа
PLEX
© Николай Павлов, Planetaexcel, 2006-2022
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
Техническая поддержка сайта
ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |
Поскольку Visual Basic.NET является полноценным объектно-ориентированным языком, для организации программного кода используются классы. Либо также могут использоваться модули. При создании нового консольного приложения Visual Studio автоматически генерирует следующий код:
В данном случае наша программа представляет модуль с именем Module1 . Концепция модулей представляет парадигму модульного программирования, согласно которому вся программа делится на ряд модулей, которые отвечают за разные функции программы. Пока мы использовали только один модуль в программе. Теперь создадим программу из двух модулей — первый модуль будет считывать из файла некоторое значение, а другой модуль будет получать это значение и проводить с ним некоторые операции. Чтобы добавить в программу второй модуль, нажмите справа в окне Solution Explorer (Обозреватель решений) на название проекта правой кнопкой мыши, затем в появившемся списке выберите пункт Add (Добавить) -> Module. (Модуль) .
В открывшемся диалоговом окне выберите пункт Module (Модуль) , оставьте в качестве его имени Module2 и нажмите кнопку Add (Добавить)
Таким образом, мы добавили в программу новый модуль Module2 . В его коде ничего не определено, кроме объявления самого модуля:
Этот модуль будет отвечать у нас за считывание значения из файла. Чтобы считать файл, воспользуемся классом StreamReader , определенным в пространстве имен System.IO. Поэтому нам нужно импортировать данное пространство имен с помощью оператора Imports . Импортирование пространства имен производится в самом начале программы перед определением модуля или класса:
Что такое пространство имен? Пространства имен являются контейнерами для модулей, классов и других пространств имен. Одно и или несколько пространств имен и составляют приложения или библиотеки dll, построенные на платформе .NET. Мы можем и наш модуль поместить в пространство имен, которое назовем к примеру Modules . Это делается с помощью ключевого слова Namespace :
Теперь перейдем к самой реализации нашей программы — определим функцию, которая будет в качестве параметра принимать путь к файлу и будет возвращать считанное значение:
Обратите внимание на конструкцию Try . Catch . End Try — она нужна нам для обработки ошибок. Мы могли бы ее не использовать, но при выполнении программы может возникнуть ошибка. Например, мы введем неверный путь к файлу, и чтобы программа не зависла, а продолжала работать, мы используем данную конструкцию. После выражения Catch определен код для вывода ошибки на экран: Console.WriteLine(ex.Message).
Весь код нашей программы сосредоточен в трех строках между Try и Catch:
В первой строке мы создаем поток для считывания файла, который мы получаем из параметра path. Чтобы создать новый объект используется ключевое слово New . Во второй строке мы считываем первый символ из файла. Метод ReadLine класса StreamReader считывает одну строку из файла, поэтому нам надо будет потом ее привести к типу Integer и полученное значение присвоить переменной number. В третьей строке мы закрываем поток методом Close .
Теперь перейдем к главному модулю. Он будет получать результат из модуля Module2 и вычислять факториал числа:
Итак, этот код должен быть вам в целом знаком: сначала мы вводим путь к файлу, передаем его в функцию Read , которая определена в модуле Module2 . Так как мы для модуля Module2 определили пространство имен, то надо указать и его, поэтому вызов метода имеет следующий вид:
Методы класса System.Math предоставляют тригонометрические, Логарифмические и другие общие математические функции. The methods of the System.Math class provide trigonometric, logarithmic, and other common mathematical functions.
В следующей таблице перечислены методы класса System.Math. The following table lists methods of the System.Math class. Их можно использовать в программе Visual Basic. You can use these in a Visual Basic program.
Метод .NET .NET method | Описание Description |
---|---|
Abs | Возвращает абсолютное значение числа. Returns the absolute value of a number. |
Acos | Возвращает угол, косинус которого равен указанному числу. Returns the angle whose cosine is the specified number. |
Asin | Возвращает угол, синус которого равен указанному числу. Returns the angle whose sine is the specified number. |
Atan | Возвращает угол, тангенс которого равен указанному числу. Returns the angle whose tangent is the specified number. |
Atan2 | Возвращает угол, тангенс которого равен отношению двух указанных чисел. Returns the angle whose tangent is the quotient of two specified numbers. |
BigMul | Возвращает полное произведение 2 32-разрядных чисел. Returns the full product of two 32-bit numbers. |
Ceiling | Возвращает наименьшее целочисленное значение, которое больше или равно указанному Decimal или Double . Returns the smallest integral value that’s greater than or equal to the specified Decimal or Double . |
Cos | Возвращает косинус указанного угла. Returns the cosine of the specified angle. |
Cosh | Возвращает гиперболический косинус указанного угла. Returns the hyperbolic cosine of the specified angle. |
DivRem | Возвращает частное от 2 32-битных или 64-битовых целых чисел со знаком, а также возвращает остаток в выходном параметре. Returns the quotient of two 32-bit or 64-bit signed integers, and also returns the remainder in an output parameter. |
Exp | Возвращает значение e (основание натуральных логарифмов), возведенное в указанную степень. Returns e (the base of natural logarithms) raised to the specified power. |
Floor | Возвращает максимальное целое число, которое меньше или равно указанному Decimal или Double ному числу. Returns the largest integer that’s less than or equal to the specified Decimal or Double number. |
IEEERemainder | Возвращает остаток, полученный от деления указанного числа на другое заданное число. Returns the remainder that results from the division of a specified number by another specified number. |
Log | Возвращает натуральный (базовый e) логарифм указанного числа или логарифм указанного числа в заданном базовом массиве. Returns the natural (base e) logarithm of a specified number or the logarithm of a specified number in a specified base. |
Log10 | Возвращает логарифм с основанием 10 указанного числа. Returns the base 10 logarithm of a specified number. |
Max | Возвращает большее из двух чисел. Returns the larger of two numbers. |
Min | Возвращает меньшее из двух чисел. Returns the smaller of two numbers. |
Pow | Возвращает указанное число, возведенное в указанную степень. Returns a specified number raised to the specified power. |
Round | Возвращает Decimal или Double значение, округленное до ближайшего целого значения или до указанного числа цифр дробной части. Returns a Decimal or Double value rounded to the nearest integral value or to a specified number of fractional digits. |
Sign | Возвращает значение типа Integer , указывающее знак числа. Returns an Integer value indicating the sign of a number. |
Sin | Возвращает синус указанного угла. Returns the sine of the specified angle. |
Sinh | Возвращает гиперболический синус указанного угла. Returns the hyperbolic sine of the specified angle. |
Sqrt | Возвращает квадратный корень из указанного числа. Returns the square root of a specified number. |
Tan | Возвращает тангенс указанного угла. Returns the tangent of the specified angle. |
Tanh | Возвращает гиперболический тангенс указанного угла. Returns the hyperbolic tangent of the specified angle. |
Truncate | Вычисляет целую часть указанного Decimal или Double числа. Calculates the integral part of a specified Decimal or Double number. |
Чтобы использовать эти функции без уточнения, импортируйте System.Mathое пространство имен в проект, добавив следующий код в начало исходного файла: To use these functions without qualification, import the System.Math namespace into your project by adding the following code to the top of your source file:
Пример Example
В этом примере используется метод Abs класса Math для расчета абсолютного значения числа. This example uses the Abs method of the Math class to compute the absolute value of a number.
Пример Example
В этом примере используется метод Atan класса Math для вычисления значения PI. This example uses the Atan method of the Math class to calculate the value of pi.
Пример Example
В этом примере используется метод Cos класса Math, чтобы получить косинус угла. This example uses the Cos method of the Math class to return the cosine of an angle.
Пример Example
В этом примере используется метод Exp класса Math, возвращающего значение e, возведенное в степень. This example uses the Exp method of the Math class to return e raised to a power.
Пример Example
В этом примере используется метод Log класса Math, чтобы получить натуральный логарифм числа. This example uses the Log method of the Math class to return the natural logarithm of a number.
Пример Example
В этом примере используется метод Round класса Math для округления числа до ближайшего целого числа. This example uses the Round method of the Math class to round a number to the nearest integer.
Пример Example
В этом примере используется метод Sign класса Math для определения знака числа. This example uses the Sign method of the Math class to determine the sign of a number.
Пример Example
В этом примере используется метод Sin класса Math, чтобы получить синус угла. This example uses the Sin method of the Math class to return the sine of an angle.
Пример Example
В этом примере используется метод Sqrt класса Math для вычисления квадратного корня числа. This example uses the Sqrt method of the Math class to calculate the square root of a number.
Пример Example
В этом примере используется метод Tan класса Math, чтобы получить тангенс угла. This example uses the Tan method of the Math class to return the tangent of an angle.
Требования Requirements
Класс: Math Class: Math
Пространство имен: System Namespace: System
Excel работает за вас
Excel works!
Thanks for Visiting
Рассчитать модуль в Excel, функция ABS и ее применение
Продолжаем серию статей о математических формулах в Excel. Сегодня разберем формулу записи «модуль в Excel». Модуль числа применяется для определения абсолютной величины числа, например длины отрезка. Ниже мы приводим несколько способов расчета модуля числа в Эксель, основная функция — ABS, а дополнительный расчет при помощи функций ЕСЛИ и КОРЕНЬ.
Как следует из определения, модуль числа — это неотрицательное число, значение самого числа. Т.е. если у нас есть отрицательное число -7, то по модулю оно будет равняться 7. Записывается модуль как две вертикальные линии:
Для чего применяется? Если у нас есть значение вектора равное -7, где минус обозначает его обратное направление, то чтобы найти длину самого вектора, нам необходимо высчитать модуль числа (т.к. длина не может быть отрицательной величиной).
Так же довольно часто, использование модуля можно встретить при расчете отрицательного значения времени, но про это у нас есть отдельная статья .
Рассчитать модуль в Excel, функция ABS
В большинстве языков программирования модуль числа находится функцией ABS (от абсолютное значение, Absolute). Наш любимый Excel не исключение.
В ячейке введем формулу:
Как следует из описания функции, значение такой формулы будет равно 7.
Как посчитать модуль через ЕСЛИ, альтернативный способ
По сути, действие функции «Модуль» это определение отрицательное ли число или нет и передача его значения. То есть легко справиться основная функция условия =ЕСЛИ().
Я лично про ABS всегда забываю и пишу через ЕСЛИ.
Модуль числа и КОРЕНЬ
Как мне подсказали, есть особенно хитрый способ найти модуль числа через функцию КОРЕНЬ. Возводим число во вторую степень и находим из выражения корень.
Сам бы не додумался.
Пример файла с 3мя расчетами прикладываю тут .
Модуль числа в VBA
Как мы уже сказали в большинстве языков программирования, нахождение модуль проходит при помощи функции ABS. VBA не исключение.
Чтобы записать расчет в коде пропишите примерно следующее:
Здесь А будет равно 7.
В целом вот так, если что-то нужно пояснить пишите в комментарии и не стесняйтесь.
В Excel есть множество формул и операторов, облегчающих расчеты. Одной из востребованных функций является вычисление модуля числа в Экселе.
Причины применения функции
В математике модуль числа показывает его абсолютное значение, знак величины не учитывается. С помощью формулы определение записывается так: I-aI = IaI = a. Все значения по модулю являются положительными.
Программа Excel оперирует числами, под которыми часто «скрываются» не абстрактные математические действия, а реальные предметы или бухгалтерские расчеты. Поэтому полученные результаты не могут быть отрицательными.
Например, какие-то товары были проданы сверх плана, другие, наоборот, остались на складе. Тогда реализованные изделия будут иметь положительное значения, а не проданные — отрицательные. Если понадобится сложить все отклонения от плана, то результатом может стать отрицательное значение или ноль. Применение модуля покажет абсолютную сумму отклонений.
Оператор также находит применение при подсчете векторных величин, которые могут иметь отрицательное значение, сравнении двух элементов таблицы, расчете процентов по кредиту.
Поставить модуль числа в Excel можно функцией ABS, аббревиатура образовалась от английского слова Absolute, что означает «абсолютный».
Стандартный вариант
Правильное написание выглядит так: «ABS(X)» или «ABS(адрес_ячейки_с_числом)». Здесь «X» — число, модуль которого нужно найти, «адрес ячейки с числом» — элемент таблицы, в котором будет указано абсолютное значение. Вставить формулу можно двумя способами. Простой вариант:
- Вписать в ячейку или в строку формул значение, для которого нужно найти модуль. Пусть это будет -8. Тогда надпись будет такова: «=ABS(-8)».
- Нажать ввод и получить результат.
Второй вариант:
- Выделить необходимую ячейку и кликнуть по опции «Вставить формулу», обозначенной символом fx.
- В появившемся списке найти надпись «ABS», выделить ее и подтвердить.
- Откроется меню «Аргументы функции». Здесь нужно ввести необходимую цифру в функцию модуля. Можно указать адрес ячейки, в которой находится необходимое значение. Для этого нажать на иконку, находящуюся справа от строки «Число».
- Окно аргументов свернется, в рабочей таблице нужно будет кликнуть по нужному элементу и снова нажать на иконку.
- Опять появится меню с аргументами, где в строке значений будет стоять адрес выбранной ячейки. Подтвердить операцию.
- Функция сработает в указанном месте.
- Можно распространить действие формулы на другие ячейки. Для этого в ячейке с примененной функцией ABS нажать на правый нижний угол мышкой и не отпуская кнопку «потянуть» мышку вниз, выделяя нужные элементы. К ним будет применена функция.
ABS в формулах
Наряду с простым приведением к модулю, функция может использоваться в связке с формулами и решать комплексные задачи. Например, определить на сколько минимальное отрицательное число меньше минимального положительного можно так:
- Имеется массив, в котором нужно решить поставленную задачу.
- В строку формул нужно вписать следующую композицию: {МИН(ABS(B3:B12))}.Здесь фигурные скобки показывают, что расчеты ведутся с массивом данных. Вводятся такие скобки не с клавиатуры, а нажатием клавиш Ctrl+Shift+Enter в конце написания формулы.
Программа в этом случае рассчитывает модуль в каждой из ячеек между B3 и B12. Без применения массивов ABS выдала бы сообщение об ошибке при такой записи. - Результат применения:
Примеры расчетов
Ниже приведены возможные случаи использования функции модуля ABS, как отдельно, так и в составе формулы.
Задача по математике на определение проекции отрезка на ось абсцисс (X) и ось ординат(Y). По условиям задания отрезок имеет координаты начала A(-17; -14) и конца B(-39;-56). Решение в Excel:
- Ввести в таблицу известные данные.
- Рассчитывается проекция на ось X с помощью ABS.
- Аналогично находится проекция на ось ординат. В строке «Число» нужно указать B5-B3.
- Результат появится в таблице.
Подсчет расходов компании — здесь нужно сложить отрицательные значения по модулю.
Имеется набор финансовых операции компании за отчетный период. Нужно определить сумму трат предприятия. По условию расходы указываются со знаком минус:
- Составить массив в Excel.
- Написать формулу: {=СУММ(ЕСЛИ(В3:В12<0;ABS(В3:В12);0))}
В конце нажать Ctrl+Shift+Enter для указания того, что используются массивы данных. - Программа анализирует данные ячеек B3-B12 и если имеются отрицательные числа, то берется их модуль. После проверки всех элементов, отрицательные значения складываются. Положительные данные не учитываются в расчетах. Итоговый результат имеет следующий вид:
Другие варианты получения абсолютного значения
Кроме ABS возможны и другие способы получения модуля числа в Эксель при помощи альтернативных функций.
ЗНАК
Принцип основан на том, что отрицательные числа умножаются на -1, а положительные на 1. Выглядит это так:
На картинке действие производится над ячейкой A4.
КОРЕНЬ
Квадратный корень величины не может быть отрицательным. Поэтому исходное число возводится в квадрат, а потом извлекается корень.
ЕСЛИ
Удобный способ. Если значение отрицательное, то оно умножается на -1, в противном случае ничего не происходит. Вот как это выглядит для ячейки A1:
Язык VBA
Во многих языках программирования модуль находится через ABS. В VBA команда будет выглядеть следующим образом: A=Abs(-7). Здесь Abs — команда для получения абсолютного значения. В данном случае объекту A будет присвоено число 7.
ABS и альтернативные варианты просты в исполнении. Умение применять их, облегчит работу и сэкономит время.