Короткий ответ
Чтобы решить эту проблему, просто добавьте 0 перед знаком равенства
= 0 - A1^2 + A1
или добавьте пару круглых скобок, чтобы заставить стандартный порядок операций
= - (A1^2) + A1
или заменить знак минус его общей интерпретацией умножения на -1
= -1 * A1^2 + A1
Детальное объяснение
В соответствии с соглашениями Excel,
= - 3^2
равно (-3)^ 2 = 9, а
= 0-3^2
равно 0-9 = -9.
Почему добавление только 0 меняет результат?
Знак минус в -3 ^ 2, которому не предшествует minuend, считается оператором отрицания, который является унарным оператором (только с одним аргументом), который меняет знак следующего числа (или выражения). Однако знак минус в 0-3 ^ 2 является оператором вычитания, который является двоичным оператором, который вычитает то, что следует -
из того, что предшествует -
. Согласно соглашениям Excel, оператор возведения в степень ^
вычисляется после оператора отрицания и перед оператором вычитания . См. "Операторы вычислений и приоритет в Excel", раздел «Порядок, в котором Excel выполняет операции в формулах».
Стандартное математическое соглашение состоит в том, что возведение в степень вычисляется до отрицания и вычитания или, проще говоря, ^
вычисляется до -
. Позорно, Excel выбрал различные соглашения из правил алгебры, школьных учебников, академического письма, научных калькуляторов, Lotus 1-2-3, Mathematica, Maple, ориентированных на вычисления языков, таких как Fortran или Matlab, MS Works и ... VBA (язык, используемый для написания макросов Excel) . К сожалению, Calc для LibreOffice и Google Sheets следуют одному и тому же соглашению для совместимости с Excel. Тем не менее, размещение выражения в окне поиска Google или панели дает отличные результаты. Если вы нажмете ввод, порядок вычислений будет дан с использованием скобок. Дискуссия, в которой математик убивает аргументы «ученого-компьютерщика», защищающего преимущество отрицания над возведением в степень: http://mathforum.org/library/drmath/view/69058.html
Общие обходные пути
Если вы хотите вычислить
- anything ^ 2,
добавить 0 перед знаком равенства
0 - anything ^ 2
или добавьте пару круглых скобок, чтобы заставить стандартный порядок операций
- ( anything ^ 2 )
или заменить знак минус его общей интерпретацией умножения на -1
-1 * anything ^ 2
В комментарии к другому ответу говорится, что единственный случай, когда вы должны знать о нестандартном правиле приоритета, - это когда знак минус следует за знаком равенства (= -). Тем не менее, есть и другие примеры, например = exp (-x ^ 2) или = (- 2 ^ 2 = 2 ^ 2), где перед знаком равенства нет миньенда.
Спасибо @BruceWayne за предложение короткого ответа, который я написал в начале.
Вы можете быть заинтересованы в Согласно Excel, 4 ^ 3 ^ 2 = 4096.Я это исправлю?