Приоритет оператора
В следующей таблице перечислены приоритеты операторов IDL. Сначала оцениваются операторы с наивысшим приоритетом. Операторы с одинаковым приоритетом оцениваются слева направо.
Примечание: См. Порядок оценки эффективности и выражений для получения информации о создании эффективных операторов.
Приоритет | Оператор |
Первый (высший) | ( ) (круглые скобки для группировки выражений) |
[ ] (скобки для объединения массивов) | |
. (возведение в степень) | |
++ (приращение) | |
— (уменьшение) | |
Четвертый | * (умножение) |
# и ## (умножение матриц) | |
/(отдел) | |
MOD (модуль) | |
Пятый | + (дополнение) |
— (вычитание и отрицание) | |
< (минимум) | |
> (максимум) | |
НЕ (побитовое отрицание) | |
~ (логическое отрицание) | |
Шестой | EQ (равенство) |
СВ (не равно) | |
LE (меньше или равно) | |
LT (менее) | |
GE (больше или равно) | |
GT (больше) | |
Седьмая | И (побитовое И) |
ИЛИ (побитовое ИЛИ) | |
XOR (побитовое исключающее ИЛИ) | |
Восьмой | && (логическое И) |
|| (логическое ИЛИ) | |
Девятый | ?: (условное выражение) |
Примечание: Существует также иерархия типов данных, которая влияет на результат математических операций. Подробности см. в разделе Тип данных и структура выражений.
Действие данного оператора основано как на позиции, так и на правилах приоритета оператора. Эту концепцию иллюстрируют следующие примеры.
A = 4 + 5 * 2
A равно 14, поскольку оператор умножения имеет более высокий приоритет, чем оператор сложения. Круглые скобки можно использовать для переопределения оценки по умолчанию.
A = (4 + 5) * 2
В этом случае A равно 18, поскольку скобки имеют более высокий приоритет оператора, чем оператор умножения; сначала вычисляется выражение в скобках, а результат умножается на два.
Позиция в выражении используется для определения порядка вычисления, когда два или более оператора имеют одинаковый приоритет оператора. Рассмотрим следующее:
A = 6 / 2 * 3
В этом случае A равно 9, так как оператор деления находится слева от оператора умножения. Подвыражение 6 / 2 вычисляется до выполнения умножения, несмотря на то, что операторы умножения и деления имеют одинаковый приоритет. Опять же, круглые скобки можно использовать для переопределения порядка оценки по умолчанию:
A = 6 / (2 * 3)
В этом случае A равно 1, потому что сначала вычисляется выражение в скобках.
Полезное эмпирическое правило: «если сомневаетесь, заключайте в скобки». Некоторые примеры выражений приведены в следующей таблице.
Выражение | Значение |
А + 1 | Сумма А и 1. |
А < 2 + 1 | Меньшее из A или два плюс один. |
А < 2 * 3 | Меньшее из A и шесть, так как * имеет более высокий приоритет, чем <. |
Дважды квадратный корень из A. | |
А + «Четверг» | Объединение строк A и «Четверг». Ошибка возникает, если A не является строкой |
Порядок, в котором вычисляется выражение, может существенно повлиять на скорость выполнения программы. Рассмотрим следующий оператор, где A — массив:
; Масштабируйте A от 0 до 16.
B = A * 16. / MAX(A)
Этот оператор сначала умножает каждый элемент в A на 16, а затем делит каждый элемент на значение максимального элемента. Требуемое количество операций в два раза превышает количество элементов в A. Гораздо более быстрый способ вычисления того же результата используется в следующем утверждении:
; Масштабируйте A от 0 до 16, используя только одну операцию массива.
B = A * (16./MAX(A))
или
; Операторы с одинаковым приоритетом оцениваются слева направо.
; Требуется только одна операция с массивом.
B = 16./MAX(A) * A
Более быстрый метод выполняет только одну операцию для каждого элемента в A плюс одно скалярное деление. Чтобы увидеть разницу в скорости на своей машине, выполните следующие операторы:
A = RANDOMU(seed, 512, 512)
t1 = SYSTIME(1) & B = A*16./MAX(A) & t2 = SYSTIME(1)
PRINT, 'Время неэффективного расчета:', t2-t1
t3 = SYSTIME(1) & B = 16./MAX(A)*A & t4 = SYSTIME(1)
PRINT, 'Время эффективного расчета:', t4-t3
Операторы вычисления и приоритет — служба поддержки Microsoft
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel для iPad Excel для iPhone Excel для планшетов Android Excel 2010 Excel для Mac 2011 Excel для телефонов Android Больше.
Операторы определяют тип вычисления, которое необходимо выполнить для элементов формулы. Существует порядок вычислений по умолчанию, но вы можете изменить этот порядок, используя круглые скобки.
В этой статье
Типы операторов
Порядок, в котором Excel выполняет операции в формулах
Типы операторов
Существует четыре различных типа операторов вычисления: арифметические операции, сравнение, конкатенация текста (объединение текста) и ссылка.
Арифметические операторы
Для выполнения основных математических операций, таких как сложение, вычитание или умножение; комбинировать числа; и получить числовые результаты, используйте в формуле следующие арифметические операторы:Арифметический оператор | Значение | Пример | Результат |
+ (плюс) | Дополнение | =3+3 | 6 |
– (знак минус) | Вычитание | =3–1 | 2 -1 |
* (звездочка) | Умножение | =3*3 | 9 |
/ (косая черта) | Отдел | =15/3 | 5 |
% (знак процента) | Процент | =20%*20 92 | 9 |
Операторы сравнения
Вы можете сравнить два значения с помощью следующих операторов. Когда два значения сравниваются с помощью этих операторов, результатом является логическое значение TRUE или FALSE.
Оператор сравнения | Значение | Пример |
= (знак равенства) | равно | А1=В1 |
> (знак больше) | Больше | А1>В1 |
< (знак меньше) | Менее | А1<В1 |
>= (знак больше или равно) | Больше или равно | А1>=В1 |
<= (знак меньше или равен) | Меньше или равно | А1<=В1 |
<> (без знака равенства) | Не равно | А1<>В1 |
Оператор конкатенации текста
Используйте амперсанд (&) для конкатенации (объединения) одной или нескольких текстовых строк для создания единого фрагмента текста.
Текстовый оператор | Значение | Пример | Результат |
и (амперсанд) | Соединяет или объединяет два значения для получения одного непрерывного текстового значения | = «север» и «ветер» | Нортвинд |
=»Привет» & » » & «мир» В этом примере между двумя словами вставляется пробел. Символ пробела указывается путем включения пробела в открывающие и закрывающие кавычки (» «). | Привет, мир |
Справочные операторы
Объедините диапазоны ячеек для вычислений со следующими операторами.
Справочный оператор | Значение | Пример |
: (двоеточие) | Оператор диапазона, который создает одну ссылку на все ячейки между двумя ссылками, включая две ссылки | В5:В15 |
, (запятая) | Оператор объединения, который объединяет несколько ссылок в одну ссылку | СУММ(B5:B15,D5:D15) |
(пробел) | Оператор пересечения, который возвращает ссылку на ячейки, общие для диапазонов в формуле. В этом примере ячейка C7 находится в обоих диапазонах, так что это пересечение. | B7:D7 C6:C8 |
Верх страницы
Порядок, в котором Excel выполняет операции в формулах
В некоторых случаях порядок, в котором выполняются вычисления, может повлиять на возвращаемое значение формулы, поэтому важно понимать, как определяется порядок и как его можно изменить для получения желаемых результатов.
Порядок расчета
Формулы вычисляют значения в определенном порядке. Формула в Excel всегда начинается со знака равенства (=). Знак равенства сообщает Excel, что следующие за ним символы составляют формулу. После знака равенства следуют вычисляемые элементы (операнды, такие как числа или ссылки на ячейки), которые разделяются операторами вычисления (такими как +, -, * или /). Excel вычисляет формулу слева направо в соответствии с определенным порядком для каждого оператора в формуле.
Приоритет оператора
При объединении нескольких операторов в одну формулу Excel выполняет операции в порядке, указанном в следующей таблице. Если формула содержит операторы с одинаковым приоритетом — например, если формула содержит оператор умножения и деления — Excel оценивает операторы слева направо.
Оператор | Описание |
: (двоеточие) (один пробел) , (запятая) | Эталонные операторы |
– | Отрицание (как в –1) |
Возведение в степень (возведение в степень) | |
* и / | Умножение и деление |
+ и – | Сложение и вычитание |
и | Соединяет две строки текста (объединение) |
= | Сравнение |
Использование скобок
Чтобы изменить порядок вычисления, заключите в круглые скобки ту часть формулы, которая будет вычисляться первой.