VBA Abs function in Excel is categorized as Math(Mathematical) & Trig function. This is a built-in Excel VBA Function. This function returns or calculates an absolute value of a number. This function removes negative sign in front of number. The Abs function converts negative value to positive value.
We can use this function in Excel and VBA. This function can be used in either procedure or function in a VBA editor window in Excel. We can use this VBA Abs Function in any number of times in any number of procedures or functions. Let us learn what is the syntax and parameters of the Abs function, where we can use this Abs Function and real-time examples in Excel VBA.
Table of Contents:
- Objective
- Syntax of VBA Abs Function
- Parameters or Arguments
- Where we can apply or use VBA Abs Function?
- Example 1: Convert a value(-4) to an absolute number
- Example 2: Convert a value(4) to an absolute number
- Example 3: Convert a value(0) to an absolute number
- Example 4: Convert a value(“Text”) to an absolute number
- Example 5: Convert a value(Null) to an absolute number
- Instructions to Run VBA Macro Code
- Other Useful Resources
The syntax of the Abs Function in VBA is
Abs(Number)
The Abs function returns a numeric value.
Parameters or Arguments:
The Abs function has one argument in Excel VBA.
where
Number:The Number is a required parameter. It represents a number or numeric value. We use this parameter to calculate absolute value.
Note:
- The specified value is not a number, it returns an error (Run time: Type mismatch error)
- The specified number has negative sign, it removes negative sign and returns positive value.
- The specified number is Null, then it returns Null.
- The specified number is zero(0), then it returns zero(0).
Where we can apply or use VBA Abs Function?
We can use this Abs Function in VBA MS Office 365, MS Excel 2016, MS Excel 2013, 2011, Excel 2010, Excel 2007, Excel 2003, Excel 2016 for Mac, Excel 2011 for Mac, Excel Online, Excel for iPhone, Excel for iPad, Excel for Android tablets and Excel for Android Mobiles.
Example 1: Convert a value(-4) to an absolute number
Here is a simple example of the VBA Abs function. This below example converts a value(-4) to an absolute number. The below example removes negative sign and returns an output as 4.
'Convert a value(-4) to an absolute number Sub VBA_Abs_Function_Ex1() 'Variable declaration Dim iValue As Integer Dim vResult As Variant iValue = -4 vResult = Abs(iValue) MsgBox "Convert a number(-4) to an absolute value : " & vResult, vbInformation, "VBA Abs Function" End Sub
Output: Here is the screen shot of the first example output.
Example 2: Convert a value(4) to an absolute number
Here is a simple example of the VBA Abs function. This below example converts a value(4) to an absolute number. The below macro code returns an output as 4.
'Convert a value(4) to an absolute number Sub VBA_Abs_Function_Ex2() 'Variable declaration Dim iValue As Integer Dim vResult As Variant iValue = 4 vResult = Abs(iValue) MsgBox "Convert a number(4) to an absolute value : " & vResult, vbInformation, "VBA Abs Function" End Sub
Output: Here is the screen shot of the second example output.
Example 3: Convert a value(0) to an absolute number
Here is a simple example of the VBA Abs function. This below example converts a value(0) to an absolute number. The below macro code returns an output as 0.
'Convert a value(0) to an absolute number Sub VBA_Abs_Function_Ex3() 'Variable declaration Dim iValue As Integer Dim vResult As Variant iValue = 0 vResult = Abs(iValue) MsgBox "Convert a number(0) to an absolute value : " & vResult, vbInformation, "VBA Abs Function" End Sub
Output: Here is the screen shot of the third example output.
Example 4: Convert a string(Text) to an absolute number
Here is a simple example of the VBA Abs function. This below example converts a string(Text) to an absolute number. The below macro code returns an error. The Abs function converts only numeric values not string.
'Convert a value("Text") to an absolute number Sub VBA_Abs_Function_Ex4() 'Variable declaration Dim sValue As String Dim vResult As Variant sValue = "Text" vResult = Abs(sValue) MsgBox "Convert a string('Text') to an absolute value : " & vResult, vbInformation, "VBA Abs Function" End Sub
Output: Here is the screen shot of the fourth example output.
Example 5: Convert a value(Null) to an absolute number
Here is a simple example of the VBA Abs function. This below example converts a value(Null) to an absolute number. This function returns an output as ‘Null’.
'Convert a value(Null) to an absolute number Sub VBA_Abs_Function_Ex5() 'Variable declaration Dim iValue Dim vResult As Variant iValue = Null vResult = Abs(iValue) MsgBox "Convert 'Null' to an absolute value : " & vResult, vbInformation, "VBA Abs Function" End Sub
Output: Here is the screen shot of the fifth example output.
Instructions to Run VBA Macro Code or Procedure:
You can refer the following link for the step by step instructions.
Instructions to run VBA Macro Code
Other Useful Resources:
Click on the following links of the useful resources. These helps to learn and gain more knowledge.
VBA Tutorial VBA Functions List VBA Arrays in Excel Blog
VBA Editor Keyboard Shortcut Keys List VBA Interview Questions & Answers
ТРЕНИНГИ
Быстрый старт
Расширенный Excel
Мастер Формул
Прогнозирование
Визуализация
Макросы на VBA
КНИГИ
Готовые решения
Мастер Формул
Скульптор данных
ВИДЕОУРОКИ
Бизнес-анализ
Выпадающие списки
Даты и время
Диаграммы
Диапазоны
Дубликаты
Защита данных
Интернет, email
Книги, листы
Макросы
Сводные таблицы
Текст
Форматирование
Функции
Всякое
Коротко
Подробно
Версии
Вопрос-Ответ
Скачать
Купить
ПРОЕКТЫ
ОНЛАЙН-КУРСЫ
ФОРУМ
Excel
Работа
PLEX
© Николай Павлов, Planetaexcel, 2006-2022
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
Техническая поддержка сайта
ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |
Содержание
- VBA Abs Function in Excel
- Syntax of VBA Abs Function
- Parameters or Arguments:
- Where we can apply or use VBA Abs Function?
- Example 1: Convert a value(-4) to an absolute number
- Example 2: Convert a value(4) to an absolute number
- Example 3: Convert a value(0) to an absolute number
- Example 4: Convert a string(Text) to an absolute number
- Example 5: Convert a value(Null) to an absolute number
- Instructions to Run VBA Macro Code or Procedure:
- Other Useful Resources:
- Excel works!
- Excel works!
- Рассчитать модуль в Excel, функция ABS и ее применение
- Рассчитать модуль в Excel, функция ABS
- Как посчитать модуль через ЕСЛИ, альтернативный способ
- Модуль числа и КОРЕНЬ
- Модуль числа в VBA
- Основные математические функции vba
- Значение строк программы (пример 1)
- Visual basic модуль числа
- Примечания Remarks
- Пример Example
- Пример Example
- Пример Example
- Пример Example
- Пример Example
- Пример Example
- Пример Example
- Пример Example
- Пример Example
- Пример Example
- Требования Requirements
- Excel works!
- Рассчитать модуль в Excel, функция ABS и ее применение
- Рассчитать модуль в Excel, функция ABS
- Как посчитать модуль через ЕСЛИ, альтернативный способ
- Модуль числа и КОРЕНЬ
- Модуль числа в VBA
VBA Abs Function in Excel
VBA Abs function in Excel is categorized as Math(Mathematical) & Trig function. This is a built-in Excel VBA Function. This function returns or calculates an absolute value of a number. This function removes negative sign in front of number. The Abs function converts negative value to positive value.
We can use this function in Excel and VBA. This function can be used in either procedure or function in a VBA editor window in Excel. We can use this VBA Abs Function in any number of times in any number of procedures or functions. Let us learn what is the syntax and parameters of the Abs function, where we can use this Abs Function and real-time examples in Excel VBA.
Syntax of VBA Abs Function
The syntax of the Abs Function in VBA is
The Abs function returns a numeric value.
Parameters or Arguments:
The Abs function has one argument in Excel VBA.
where
Number:The Number is a required parameter. It represents a number or numeric value. We use this parameter to calculate absolute value.
Note:
- The specified value is not a number, it returns an error (Run time: Type mismatch error)
- The specified number has negative sign, it removes negative sign and returns positive value.
- The specified number is Null, then it returns Null.
- The specified number is zero(0), then it returns zero(0).
Where we can apply or use VBA Abs Function?
We can use this Abs Function in VBA MS Office 365, MS Excel 2016, MS Excel 2013, 2011, Excel 2010, Excel 2007, Excel 2003, Excel 2016 for Mac, Excel 2011 for Mac, Excel Online, Excel for iPhone, Excel for iPad, Excel for Android tablets and Excel for Android Mobiles.
Example 1: Convert a value(-4) to an absolute number
Here is a simple example of the VBA Abs function. This below example converts a value(-4) to an absolute number. The below example removes negative sign and returns an output as 4.
Output: Here is the screen shot of the first example output.
Example 2: Convert a value(4) to an absolute number
Here is a simple example of the VBA Abs function. This below example converts a value(4) to an absolute number. The below macro code returns an output as 4.
Output: Here is the screen shot of the second example output.
Example 3: Convert a value(0) to an absolute number
Here is a simple example of the VBA Abs function. This below example converts a value(0) to an absolute number. The below macro code returns an output as 0.
Output: Here is the screen shot of the third example output.
Example 4: Convert a string(Text) to an absolute number
Here is a simple example of the VBA Abs function. This below example converts a string(Text) to an absolute number. The below macro code returns an error. The Abs function converts only numeric values not string.
Output: Here is the screen shot of the fourth example output.
Example 5: Convert a value(Null) to an absolute number
Here is a simple example of the VBA Abs function. This below example converts a value(Null) to an absolute number. This function returns an output as ‘Null’.
Output: Here is the screen shot of the fifth example output.
Instructions to Run VBA Macro Code or Procedure:
You can refer the following link for the step by step instructions.
Other Useful Resources:
Click on the following links of the useful resources. These helps to learn and gain more knowledge.
Источник
Excel works!
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.
В целом вот так, если что-то нужно пояснить пишите в комментарии и не стесняйтесь.
Источник
Основные математические функции vba
Тип возвращаемого результата
Совпадает с типом числа x
Арктангенс числа x
Косинус числа x
Экспоненциальная функция (в степени x)
Возвращает целую часть числа x. Еслиx— отрицательное, то возвращаемое значение округляется вбольшуюсторону (напр., еслиx=-1.5, возвращается -1).
Возвращает целую часть числа x. Еслиx— отрицательное, то возвращаемое значение округляется в меньшую сторону (напр., еслиx=-1.5, возвращается -2).
Натуральный логарифм числа x
Генерируется случайное число. Если аргумент не указан – генерируется число в диапазоне от 0 до 1
Знак числа (1 0 -1)
Квадратный корень из x
Тангенс числа x
Дополнение к основным математическим функциям VBA:
Для перевода x из градусов в радианы: x = x * π / 180
IsNumeric ()– встроенная функцияVBA– возвращаетTrue, если ее аргумент является числом (строка), иFalse– в противном случае.
Val () – встроенная функцияVBA— преобразует переданную ей строку в число.
InputBox () – выдает запрос на ввод значения; возвращает строковое значение.
Примеры ввода и вывода значений
x=5.7 (оператор присваивания);
x = InputBox(«Enter Number: «, «Calculate Factorial»)(создается окно ввода значений переменнойхи указываются соответствующие комментарии).
Рис. 20. Окно ввода значений
Cells(1,2).Value=5 (присваивает ячейке В1 текущего рабочего листа активной рабочей книги значение 5);
Worksheets(1).Range(«A1:B2»).Value = 10 (присваивание блоку ячеек значения, равного 10);
Range(«D15″).Value=»Test» (присваивание ячейке текущего рабочего листа активной рабочей книги значения Test);
MsgBox (x) (создание окна сообщений, пример результата см. рис. 21).
Рис. 21. Результат выполнения оператора вывода MsgBox (x)
Примеры на использование обращений к функции и процедуре
Dim var1 As Integer
Dim var2 As Integer
Dim var3 As Integer
Function Multiply(ByVal var1 As Integer, ByVal var2 As Integer)
Multiply = var1 * var2
Значение строк программы (пример 1)
Назначение строки программы
начало процедуры с указанием имени процедуры
Dim var1 As Integer
Dim var2 As Integer
Dim var3 As Integer
(представляется переменная с именем var1 и указывается тип переменной var1 как целочисленный)
(присваивается переменной var1 значение 5)
var3 = Multiply(var1, var2)
переменной по имени var3 присваивается значение. Причем это значение появляется в результате вызова функции Multiply и передачи ей значений переменных var1, var2, равных соответственно 5 и 10
(вызывается окно сообщений, где представляется значение переменной var3)
граница между процедурой и функцией одного модуля
Function Multiply(ByVal var1 As Integer, ByVal var2 As Integer)
начало функции с
указанием имени функции (Multiply), в скобках указывается способ передачи значений переменных (ByVal – по значению, имя переменной –var1, тип переменной – As Integer; подобным образом, через запятую, указывается информацию о другой переменной – var2)
Multiply = var1 * var2
Результат умножения значений переменных var1 на var2 является значением функции. Внимание: имя функции и имя объекта, куда записывается расчетное значение функции – одинаковое.
MsgBox (x)
MsgBox (y)
вызываем процедуру по имени ТТТТ и передаем значения переменных x и y
MsgBox (y)
MsgBox (x)
Function FFF(ByVal x As Double)
FFF = 1/x^2
Sub TTTT(ByVal x As Double, ByRef y As Double)
процедуре ТТТТ передаются значения х=1.1 по значению (способные не изменяться при выходе из процедуры), у=2.2 по ссылке (способные изменяться при выходе из процедуры)
MsgBox (y)
y=x+y
MsgBox (y)
MsgBox (x)
Источник
Visual basic модуль числа
Поскольку 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 VBA MOD Operator
In VBA, MOD is the same as the application in mathematics. For example, when we divide a number by its divisor, we get a reminder from that division. This function one may use to give us that remainder from the division. It is not a function in VBA. Rather, it is an operator.
MOD is nothing but MODULO, a mathematical operation. It is the same as the division, but the result is slightly different where division takes the divided amount. But, MOD takes the remainder of the division. For example: If you divide 21 by 2 divisions, the result is 10.50 by MOD is the remainder of the division, i.e., 1. (Number 2 can divide only 20, not 21, so the remainder is 1).
In normal Excel, it is a function. But in VBA, it is not a function. Instead, it is just a mathematical operator. In this article, we will look into this operator in detail.
Table of contents
- Excel VBA MOD Operator
- Syntax
- How to use MOD in VBA?
- Example #1
- Example #2
- Excel MOD Function vs. VBA MOD Operator
- Things to Remember
- Recommended Articles
Syntax
To remind you, this is not a function to have syntax. But, for our reader’s understanding, let me put it in the word.
Number 1 MOD Number 2 (Divisor)
Number 1 is nothing, but what is the number we are trying to divide?
Number 2 is the divisor, i.e., we will divide Number 1 by this divisor.
MOD is the result given by Number 1 / Number 2.
How to use MOD in VBA?
You can download this VBA MOD Function Template here – VBA MOD Function Template
Example #1
Follow the below steps to write the code.
Step 1: Create a macro name.
Code:
Sub MOD_Example1() End Sub
Step 2: Define one of the variables as “Integer.”
Code:
Sub MOD_Example1() Dim i As Integer End Sub
Step 3: Now perform the calculation as “i = 20 MOD 2.”
As we said in the beginning, MOD is an operator, not a function. So, we have used the word MOD like how we enter a plus (+).
Code:
Sub MOD_Example1() Dim i As Integer i = 21 Mod 2 End Sub
Step 4: Now, assign the value of “I” to the message box.
Code:
Sub MOD_Example1() Dim i As Integer i = 21 Mod 2 MsgBox i End Sub
Step 5: Run the code message box that will show the value of “I.”
Example #2
The MOD function in VBA always returns an integer value, i.e., without decimals if you supply the number in decimals. For example, look at the below code.
Code:
Sub MOD_Example2() Dim i As Integer i = 26.25 Mod 3 MsgBox i End Sub
Divisor 3 can divide 24, so the remainder here is 2.25. But the MOD operator returns the integer value, i.e., 2, not 2.25.
Now, we will modify the number to 26.51 and see the difference.
Code:
Sub MOD_Example2() Dim i As Integer i = 26.51 Mod 3 MsgBox i End Sub
We will run this code and see what the result is.
We have got zero as the answer. We got zero because VBA roundsRound function in VBA is a mathematical function that rounds up or down the given number to the specific set of decimal places specified by the user to ease calculation.read more the numbers like our bankers do, i.e., it will round up any decimal point greater than 0.5 to the next integer value. So, in this case, 26.51 is rounded up to 27.
Since 3 can divide the 27 by 9, we will not get any remainder values, so the value of i equals zero.
Now, we will supply the divisor value also in decimal points.
Code:
Sub MOD_Example2() Dim i As Integer i = 26.51 Mod 3.51 MsgBox i End Sub
Step 6: Run this code and see what the result is.
We got 3 as the answer because 26.51 rounded up to 27, and the divisor value 3.51 will be rounded up to 4.
So, if you divide 27 by 4, the remainder is 3.
Excel MOD Function vs. VBA MOD Operator
Step 1: Now, look at the difference between excel and VBA MOD operator. We have a value of 54.24. The divisor value is 10.
Step 2: If we apply the MOD function, we will get the result of 4.25.
Step 3: But if you do the same operation with VBA, we will get 4 as the remainder, not 4.25.
Code:
Sub MOD_Example2() Dim i As Integer i = 54.25 Mod 10 MsgBox i End Sub
Step 4: Run this code and see what the result is.
Things to Remember
- It is not a function, but it is an arithmetic operator.
- It is roundup and rounddown decimal values, unlike our MOD function in the worksheet function.
Recommended Articles
This article has been a guide to VBA MOD Function. Here, we learned how to use the modulo, practical examples, and a downloadable Excel template. Below you can find some useful Excel VBA articles: –
- VBA Return Statement
- VBA RoundUp
- VBA Cell References
- What is VBA Range?
- VBA Randomize
Главная » Функции VBA »
28 Апрель 2011 129104 просмотров
- ABS() — эта функция возвращает абсолютное значение переданного ей числа (то же число, но без знака). Например, ABS(3) и ABS(-3) вернут одно и то же значение 3.
- Int(), Fix() и Round()позволяют по разному округлять числа:
- Int() возвращает ближайшее меньшее целое;
- Fix() отбрасывает дробную часть;
- Round() округляет до указанного количества знаков после запятой.
Однако Round может вернуть не совсем ожидаемый результат, т.к. функция применяет финансовое округление. По правилам данного округления если за последней к округлению цифрой стоит 5, то округляемую цифру увеличивают в том случае, если она нечетная и уменьшают, если четная.
Математическое же округление всегда округляет цифру в большую сторону, если за ней идет цифра 5 и выше, и отбрасывает остаток если 4 и меньше.
Т.е. если мы выполним такую строку кодато результатом будет 2,5, хотя предполагалось получить 2,51. Поэтому порой для округления лучше использовать Format:
MsgBox Format(2.505, "#,##0.00")
но в этом случае мы получим не число в чистом виде, а текст. И если нужно именно число, то придется производить дополнительные преобразования:
MsgBox CDbl(Format(2.505, "#,##0.00"))
Так же, для математического округления, можно использовать и такой вариант:
MsgBox Application.Round(2.505, 2)
Но здесь стоит учитывать, что это не чистый VB и этот метод сработает только в Excel, т.к. по сути мы обращаемся к встроенной в Excel функции округления ОКРУГЛ(ROUND), которая применяет именно математическое округление.
- Rnd и команда Randomize используются для получения случайных значений (очень удобно для генерации имен файлов и в других ситуациях). Перед вызовом функции Rnd() необходимо выполнить команду Randomize для инициализации генератора случайных чисел.
Dim lRundNum As Long, lMinNum As Long, lMaxNum As Long lMinNum = 1: lMaxNum = 100 Randomize lRundNum = Int(lMinNum + (Rnd() * lMaxNum)) MsgBox lRundNum
- Sgn() — позволяет вернуть информацию о знаке числа. Возвращает 1, если число положительное, -1, если отрицательное и 0, если проверяемое число равно 0.
- Mod() — Делит два числа и возвращает только остаток. Например, выражение 8 Mod 3 вернет число 2, т.к. без остатка(в виде дроби у результата деления) 8 делится на 3 только до 2-х(8 / 3 = 2,66666666666667).
При этом функция Mod учитывает и знак числа — если первое число или оба числа отрицательные, то результатом будет отрицательное число. Если же отрицательное только второе число — то результат будет положительным числом.
При попытке получить остаток при делении чисел с плавающей запятой результат может быть не тем, который ожидается, потому что перед выполнением деления оба числа округляются по математическим законам(5 и выше до большего, 4 и ниже — до меньшего). Например, выражение 8 Mod 3.5 вернет 0, а выражение 8 Mod 3.4 — 2.