Почему Excel переводит `= 10 ** - 2` в` = 0.1`? - PullRequest
5 голосов
/ 31 января 2012

Попробуйте вставить =10**-2 в ячейку в MS Excel. После нажатия Enter он превращается в =0.1. Кажется, я не могу найти какую-либо документацию для **, но это довольно странный оператор, похожий на возведение в степень, который нельзя использовать в формуле Excel (например, =A1**A2 недопустимо`).

Если этот оператор не является оператором возведения в степень, что это такое?

(Н.Б .: математически, 10 -2 = 0,01, а не 0,1)

Ответы [ 2 ]

6 голосов
/ 31 января 2012

** соответствует E

= 4E3 == 4 ** 3 == 4000

5 голосов
/ 31 января 2012

Похоже, что A**B сдвигает десятичную точку A вправо на B позиции, или математически A**B эквивалентно A*(10^B).

Это в основном научная записьсокращенно, поэтому 1.23**-2 будет отображаться как 1.23E-02 в ячейке, поэтому он не только выполняет сдвиг, как описано выше, но и изменит категорию этой ячейки на «Научная». Обратите внимание, что это только в том случае, если вы вводите значение в ячейку без начального =, поэтому =1.23**-2 сохранит текущее значение по умолчанию для ячейки иdisplay 0.0123.

В случае 10**-2 десятичная точка сдвигается влево на 2 позиции (поскольку B отрицательно), в результате чего получается 0,1.

Вот несколько примеров:

1**-2 => 0.01
1.2**2 => 120
.5**1 => 5
...