Remkomplekty.ru

IT Новости из мира ПК
24 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Vba excel возведение в степень

Арифметические операции в VBA: сложение, вычитание, умножение, деление и возведение в степень

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

Выражение — это значение либо группа значений, выражающая отдельное значение. Результат выражения — одно значение определенного типа данных. Знаки (обозначения) операций используются для действий над определенными значениями в выражениях. Для присваивания результата выражения переменной используется оператор присваивания (=), который сохраняет любое значение, представленное выражением справа от оператора присваивания в ячейке памяти, на которую ссылается переменная слева от этого оператора.

Во всех операциях приведенных ниже, оба операнда должны быть численными выражениями или строками, которые VBA может преобразовать в число.

Сложение

Знак (+) используется для выполнения операции сложения. Слагаемые должны быть численными выражениями, строками, которые VBA может преобразовать в числа либо датами, с которыми также возможны арифметические действия.

Тип данных результата выражения сложения обычно тот же, что и наиболее точный тип в этом выражении за некоторыми исключениями. Все исключения из этого правила наглядно представлены в примерах.

Вычитание

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

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

Правило 1. Если в выражении вычитания один из операндов является типом Date, то и результат выражения будет иметь тип Date.

Правило 2. Если в выражении вычитания оба операнда являются типом Date, то результат выражения будет иметь тип Double.

Умножение

Знак (*) используется для выполнения операции умножения, результатом этой операции является произведение операндов. Для определения типа данных результата выражения умножения VBA использует те же правила, что и для выражений, использующих сложение. В выражениях умножения все переменные Variant, содержащие значения типа Date, преобразуются в численные значения.

Деление

Знак (/) используется для выполнения операции деления, этот знак называют знаком деления действительных чисел. В выражениях деления один операнд делится на другой, а результатом деления является частное.

Если любой операнд в выражении деления имеет значение Null, то результатом выражения также будет Null. Тип данных в выражениях деления действительных чисел обычно Double, но есть и исключение.

Если в выражении деления оба операнда имеют тип Integer или Single, то результат выражения деления имеет тип Single. Если результат переполняет диапазон для типа Single, то VBA преобразует его в тип Double.

Целочисленное деление

Знак () используется для выполнения операции целочисленного деления, при котором результатом деления всегда является целое число без дробной части. VBA не округляет частное целочисленного деления, а просто укорачивает его до целого числа, отбрасывая дробную часть.

Тип данных результата выражения целочисленного деления — либо Integer, либо Long. VBA использует наименьший тип данных, который соответствует результату выражения.

Деление по модулю

Знак (Mod) используется для выполнения операции деления по модулю. При делении по модулю выражение возвращает только остаток от деления как целое.

Доступное для понимания объяснение этой математической операции приведено на одном из форумов программистов. Приведу цитату оттуда: «представь, что есть полная 50л канистра и 3л банка. И ты начинаешь вычерпывать из канистры банкой воду (набирать можно только полную банку). 48л вычерпал, осталось 2 литра. Это и есть остаток от деления 50 на 3 по модулю.» Другими словами 50 Mod 3 возвращает 2.

Тип данных результата выражения деления по модулю — это Integer или Long. VBA использует наименьший тип, который подходит для результата выражения.

Возведение в степень

Знак (^) используется для выполнения операции возведения в степень числа или выражения. Показатель степени показывает, сколько раз число или выражение должно быть умножено на само себя.

Арифметические операторы VBA

Оператор присваивания (=)

Оператор присваивания используется для присваивания результата выражения переменной.

Операция присваивания имеет две синтаксические формы:

1 Let varname = expression
2 varname = expression

varname — любая переменная VBA

expression — любое выражение VBA

Первый вариант операции присваивания использовался в ранних языках программирования Basic. Второй вариант используется в современной версии VBA.

При выполнении оператора присваивания VBA сначала вычисляет выражение справа от оператора присваивания, а затем сохраняет результат выражения в переменной, имя которой находится слева от знака равенства.

X = 5 + 7; Y = X + 5 ; Z = X — Y; A = B; I = I + 1

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

Например, если в операторе присваивания А = А +5, переменная А до операции присваивания содержала значение 7, то после операции она будет содержать значение 12 (7+5).

  • Можно присваивать любую численную переменную (или выражение) любой другой переменной численного типа (или переменной типа Variant);
  • Если присваивается численное выражение типизированной переменной с меньшей точностью (например, Double — Long), VBA округляет значение выражения для совпадения с точностью переменной, принимающей новое значение;
  • Если переменной типа String присваивается переменная типа Variant, содержащая число, VBA автоматически преобразует это число в строку.
Читать еще:  Vba excel redim

Оператор сложения (+)

Оператор сложения выполняет простое сложение. Оба операнда должны быть численными выражениями или строками, которые VBA может преобразовать в число. Оператор сложения можно также использовать для выполнения арифметических операций с данными типа Date.

Тип данных результата выражения сложения обычно тот же, что и наиболее точный тип в этом выражении. Но, есть исключения:

  • Результатом сложения типа Single и Long будет Double;
  • Результатом сложения типа Date с любым другим типом данных всегда будет Date;
  • Если результат превышает диапазон типа Integer, то VBA преобразует его в Long;
  • Если результат превышает типы Long, Single, Date, то VBA преобразует его в Double;
  • Если любой операнд в выражении сложения является Null, то результатом выражения сложения также будет Null.

Напомним порядок увеличения точности для численных типов данных: Byte, Integer, Long, Single, Double, Currency.

Следует сказать, что надо четко понимать как VBA преобразует типы данных в результате арифметических операций. Это поможет в дальнейшем избежать многих «ненужных» ошибок при написании кода.

Оператор вычитания (-)

Оператор вычитания выполняет две задачи: используется для вычитания одного числа из другого; обозначает унарный минус (это знак минус, который помещается пред числом для указания того, что это отрицательное число). Поместить унарный минус перед переменной или выражением означает то же, что умножить это число на -1.

Оба операнда в выражении вычитания должны быть численными переменными (выражениями) или строковыми выражениями, которое VBA может преобразовать в число. Можно использовать оператор вычитания для работы с датами.

VBA использует те же правила для определения типа данных результата выражения вычитания, что и для выражений, использующих оператор сложения. Но, есть дополнение:
Если оба операнда в выражении являются типом Date, то результат выражения будет иметь тип Double.

Оператор умножения (*)

Оператор умножения перемножает два числа — результатом выражения умножения является произведение двух операндов. Оба операнда в выражении умножения должны быть численными выражениями или строками, которые VBA может преобразовать в число.

VBA следует тем же правилам для определения типа данных результата выражения умножения, что и для выражений, использующих оператор сложения. В выражениях умножения все переменные Variant, которые содержат значения типа Date, преобразуются в численные значения.

Оператор деления (/)

Оператор деления с плавающей точкой выполняет обычное арифметическое деление своих операндов.

В выражениях деления первый операнд делится на второй операнд — результатом деления является частное.

Оба операнда в выражении деления с плавающей точкой должны быть численными выражениями или строками, которые VBA может преобразовать в число.

Если хотя бы один операнд в выражении деления имеет тип Null, то результат деления также будет Null.

Типом данных операции деления с плавающей точкой является Double, за исключением:

  • Оба операнда в выражении деления имеют тип Integer или Single — результат Single;
  • Если результат выражения не переполняет диапазон значений для типа Single.

Целочисленное деление ()

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

Оба операнда в выражении целочисленного деления должны быть численными выражениями или строками, которые VBA может преобразовать в число.

Перед выполнением операции целочисленного деления VBA округляет каждый операнд до числа типа Integer или Long (такой же тип имеет и результат целочисленного деления).

VBA отбрасывает (но не округляет!) любой дробный остаток результата выражения целочисленного деления. Например, выражения 225 и 245 будут иметь один и тот же результат = 4.

Если хотя бы один операнд в выражении целочисленного деления имеет тип Null, то результат деления также будет Null.

Деление по модулю (Mod)

Деление по модулю как бы дополняет целочисленное деление. В делении по модулю выражение возвращает только остаток операции деления как целое.
22 Mod 5 = 2
24 Mod 5 = 4
25 Mod 5 = 0

Остальные свойства деления по модулю идентичны целочисленному делению.

Возведение в степень (^)

Оператор возведения в степень возводит число в степень.

Оба оператора в выражении возведения в степень должны быть численными выражениями или строками, которые VBA может преобразовать в числа.

Операнд слева от оператора возведения в степень может быть отрицательным числом только, если операнд справа является целым.

Результат выражения имеет тип Double.

Если хотя бы один операнд в выражении имеет тип Null, то результат возведения в степень также будет Null.

Vba excel возведение в степень

������� ���������� ��������� �� ����� VBA – �������, ����� �������� �� ���������� ������, � ����������� �� ��������� ����������. ���� ���������� �������� ���������, ������� ����� ����������� ������������ ���������� ��� ��������, ����������� �������������� ����������� ������������ ���������� Microsoft Office, �� ���������� ������� ����������� ������. ��� ���������� ���� ��������� ����� ��������� � ������� ������� ���������� ������, ������� ������� ����� �������� ���������� ���������. ��� ����� � ���������� ���������� �������� ������ ������������ � ������� ������� ��� ������ ������������ �������� ����������, � ����� ������� ������ � ��������������� ����������� �����. ���� ��������� ��������� � ������� ������� ������ ������ �������.

Читать еще:  Адрес активной ячейки в excel

���������� “�����������” ��������� (��� ���������� ������� ��������� ��������� ����, � ���������� ���������� ����������) ����� �������� ��� �����. ������ ���� – ���� ����������� ����������������, �� ������� ��������� ���� (�����) ���������, ��� ������������� ����������� �������� ����������. ������ – ���� ����������������, �� ������� ��������� ����� ��������� (���������), ������������� � ����� �� ������������ �������. �������� ��������, ��������, ������ ����� ������� ���� �� ��������� ������ (������� Click), ������� ������� �� ���������� (������� KeyPress) � �.�. ������������ ����� ���������� ����� �������� ������ – «������ �������».

Range(“�����”)

Cells(i, j)

Rows(� ������)

Columns(� �������)

Sheets(“���”)

Sheets(� �����)

WorkSheet

Range(“A5:A10”). Value = 0 ��� Range(“A5:A10”) = 0 – � �������� ����� A5:A10 ��������� �������� 0.

Cells(2, 4). Value = n ��� Cells(2, 4) = n – � ������, ����������� �� ����������� 2-� ������ � 4-�� ������� (������ � ������� “D2”), ��������� �������� ���������� n.

Xn = Cells(1, 2).Value ��� Xn = Range(“B1”).Value – ���������� Xn ������������� �������� �� ������ B1 �������� �������� �����.

Sheets(2).Activate ������� �������� ���� � �2.

Sheets(“���������”).Delete ������� ���� � ������ “���������”.

Range(«A5:A10»).Clear – �������� �������� ����� A5:A10.

Range(«A2:B10»).Select – �������� �������� ����� A2:B10.

Application.Quit — ���������� ������ � Excel.

Выражения в VBA;

В VB различают арифметические, логические и строковые выражения.

Арифметические выражения (AB)

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

+(сложение), — (вычитание), *(умножение), / (деление), ^ — возведение в степень.

Стандартные математические функции в VBA

Основные стандартные числовые функции с вещественными аргументами и вещественными результатами приведены в табл. 13.1.

Таблица 13.1 — Математические функции

Val(x) — преобразование строкового данного в числовое.

Str(x) — преобразование числового данного в строковое.

Приоритеты выполнения операций в АВ следующие:

1 — операции в скобках; 2— вычисление стандартных функций; 3 -возведение в степень; 4— умножение, деление, деление нацело (103=3), mod (7 mod 2 =1); 5— сложение и вычитание.

Правила записи АВ:

1. Запись выполняется построчно и знаки умножения не опускаются.

2. Если в знаменателе есть операции, то его нужно брать в скобки. Пример записи АВ: (a^x + exp(x))/(log(x)+sin(x)). ЗначениемАВ является число.

Логические выражения (ЛВ)

Результатом вычисления ЛВ является константа true (истина) или false (ложь). ЛВ бывают простые и сложные.

Простое логическое выражение — это выражение отношения или два арифметических выражения, связанные операцией отношения.

Операции отношения , > =, <> (не равно), = .

Например: a > c .Если а больше c, то результат решения логического выражения — true, иначе значение false.

Сложное логическое выражение включает логические операции: and -логическое умножение (операция и ); or -логическое сложение (операция или ); not — логическое отрицание (операция нет ).

Операция and дает истинный результат, когда оба операнда истинны. Операция or дает истинный результат, когда один или оба операнда истинны. Операция not отрицает истинность или ложность операнда ( not (4=4) — результат операции — ложь ).

Пример. Составить сложное логическое выражение, доказывающее истинность нахождение точки с координатами х, у в четвертом квадранте. Точка находится в 4 квадранте тогда, когда х=>0 «и» у 0) and (y

Возведение числа в степень в Excel

Одним из самых распространенных математических действий является возведение числа в степень, что позволяет решить огромное количество различных задач (математических, финансовых и т.д.). Так как Эксель является мощным инструментом для работы с числовыми данными, в нем, конечно же, предусмотрена столь полезная и необходимая функция. Итак, давайте разберемся, каким образом производится возведение числа в степень в программе.

Метод 1: использование специального символа

Начнем мы с наиболее распространенного метода, который заключается в использовании формулы со специальным символом “^”.

В общем виде формула выглядит следующим образом:

  • Число может быть представлено в виде конкретного числа или ссылки на ячейку, содержащую числовое значение.
  • n – степень, в которую возводится заданное число.

Пример 1

Допустим, нам нужно возвести число 7 в куб (т.е. в третью степень). Для этого мы встаем в любую свободную ячейку таблица, ставим знак равно и пишем выражение: =7^3 .

После того, как формула готова, нажимаем клавишу Enter на клавиатуре и получаем требуемый результат в выбранной ячейке.

Пример 2

Возведение в степень может быть частью более сложного математического выражения, состоящего из нескольких действий. Допустим, нам нужно к числу 12 прибавить число, полученное в результате возведения цифры 7 в куб. Так это выражение будет выглядеть в финальном виде: =12+7^3 .

Пишем формулу в свободной ячейке, и после нажатия Enter получаем результат.

Пример 3

Как мы упомянули выше, вместо конкретных значений, в расчетах могут принимать участие ссылки на ячейки с числовыми данными. Допустим, нам нужно возвести в пятую степень значения в ячейках определенного столбца таблицы.

  1. Переходим в ячейку столбца, куда планируем выводить результаты и пишем в ней формулу для возведения числа из исходного столбца (в той же строке) в нужную степень. В нашем случае формула имеет вид: =A2^5 .
  2. Нажимаем клавишу Enter, чтобы получить результат.
  3. Теперь остается растянуть формулу на остальные ячейки столбца, расположенные внизу. Для этого наводим курсор на правый нижний угол ячейки с посчитанными результатом, когда вид указателя сменится на черный плюсик (маркер заполнения), зажав левую кнопку мыши тянем его вниз до последней ячейки, для которой хотим выполнить аналогичные расчеты.
  4. Как только мы отпустим левую кнопку мыши, ячейки столбца автоматически заполняться данными, а именно, возведенными в пятую степень числами из исходного столбца.
Читать еще:  Excel vba for

Описанный метод достаточно простой и универсальный, из-за чего пользуется наибольшей популярностью среди пользователей. Но помимо него есть и другие способы. Давайте их также рассмотрим.

Метод 2: функция СТЕПЕНЬ

В этом разделе мы подробно остановимся на функции СТЕПЕНЬ, позволяющей возводить числа в желаемую степень.

Формула функции СТЕПЕНЬ выглядит следующим образом:

Вот как с ней нужно работать:

  1. Переходим в ячейку, в которой планируем производить расчеты и щелкаем по кнопке “Вставить функцию” (fx) слева от строки формул.
  2. В открывшемся окне Вставки функции выбираем категорию “Математические”, в перечне ниже находим оператор “СТЕПЕНЬ”, кликаем по нему, затем – по кнопке OK.
  3. Перед нами появится окно для заполнения аргументов функции:
    • В качестве значения аргумента “Число” можно указать как конкретное числовое значение, так и ссылку на ячейку. Адрес ячейки можно прописать вручную, используя клавиши на клавиатуре. Или же можно левой кнопкой мыши кликнуть по полю для ввода информации и затем в таблице щелкнуть по нужной ячейке.
    • В значении “Степень” пишем число, которое, согласно названию аргумента, и является степенью, в которую мы планируем возвести числовое значение, указанное в аргументе “Число”.
    • Когда все данные заполнены, щелкаем OK.
  4. Получаем результат возведения числа в указанную степень.

В случае, когда вместо конкретного значения используется адрес ячейки:

  1. Окно аргументов функции выглядит так (с учетом наших данных):
  2. Итоговая формула в этом случае имеет следующий вид: =СТЕПЕНЬ(A2;3) .
  3. Как и в первом методе, результат можно растянуть на остальные ячейки столбца.

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

  1. Заполнить окно аргумента можно либо вручную, либо с помощью клика мышью по нужной ячейке в таблице – аналогично заполнению аргумента “Число”.
  2. В нашем случае формула выглядит так: =СТЕПЕНЬ(A2;B2) .
  3. Растягиваем результат на другие строки, используя маркер заполнения.

Примечание: запустить Мастер функций можно по-другому. Переключаемся во вкладку “Формулы”, в разделе инструментов “Библиотека функций” кликаем по кнопке “Математические” и выбираем в предложенном перечне пункт “СТЕПЕНЬ”.

Также, некоторые пользователи предпочитают вместо использования окна Мастера функций и настройки ее аргументов, сразу писать финальную формулу функции в нужной ячейке, ориентируясь на ее синтаксис.

Очевидно, что этот метод несколько сложнее, чем первый. Но в определенных случаях он становится незаменим, когда приходится иметь дело со сложными функциями, в состав которых одновременно входит несколько операторов.

Метод 3: использование квадратного корня

Безусловно, этот метод вряд ли популярен среди пользователей, но и он в некоторых случаях применим, когда требуется возвести какое-то число в степень 0,5 (другими словами, вычислить его квадратный корень).

Допустим, требуется возведение числа 16 в степень 0,5.

  1. Переходим в ячейку, где планируемся посчитать результат. Жмем кнопку “Вставить функцию” (fx) рядом со строкой формул.
  2. В окне вставки функции выбираем оператор “КОРЕНЬ”, расположенный в категории “Математические”.
  3. Аргумент у данной функции всего один – “Число”, так как с помощью нее можно выполнить только одно математическое действие – извлечение квадратного корня из указанного числового значения. Указать можно как конкретное число, так и ссылку на ячейку (вручную или выбрав с помощью клика левой кнопкой мыши). По готовности кликаем OK.
  4. Результат вычисления по функции отобразится в выбранной ячейке.

Записываем число в степени в ячейку

Этот метод не направлен на выполнение расчетов и используется для того, чтобы записать число со степенью в заданной ячейке таблицы.

  1. Для начала необходимо сменить формат ячейки на “Текстовый”. Для этого правой кнопкой мыши щелкаем по нужному элементу и в открывшемся контекстном меню выбираем пункт “Формат ячеек”.
  2. Находясь во вкладке “Число” кликаем по пункту “Текстовый” в предложенных форматах и затем – по кнопке OK.Примечание: сменить формат ячеек можно и во вкладке “Главная” в основном окне программы. Для этого щелкаем по текущему варианту в разделе инструментов “Число” (по умолчанию – “Общий”) и в предложенном перечне выбираем необходимый пункт.
  3. Пишем в выбранной ячейке сначала число, затем – его степень. После этого выделяем последнюю цифру с помощью зажатой левой кнопки мыши.
  4. Нажав комбинацию Ctrl+1 попадаем в окно формата ячеек. В блоке параметров “Видоизменение” ставим флажок напротив опции “Надстрочный”, после чего щелкаем OK.
  5. Получаем визуально правильное оформление числа в степени, что и требовалось.
  6. Кликаем по любой другой ячейке (или или жмем Enter), чтобы завершить редактирование.

Примечание: так как мы изменили формат ячейки на “Текстовый”, ее значение программой больше не воспринимается как числовое, следовательно, в вычислениях применяться не может. Поэтому, если нужно именно возвести число в требуемую степень, нужно использовать первые три метода, описанные в данной статье.

Заключение

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

Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector
×
×