Как и другие электронные таблицы, Excel имеет 15 значащих цифр точности. Итак, эта формула:
=1/3
Действительно возвращает это:
+0,333333333333333
Вы можете видеть, что если вы отформатируете ячейку, чтобы показать более 15 десятичных знаков.
Таким образом, 1/3 в Excel дает ПОЧТИ 1/3, как можно ближе к 15 значащим цифрам. "Значимые цифры" - это количество цифр от первой ненулевой цифры до последней ненулевой цифры, независимо от того, где находится десятичная дробь.
Таким образом, хотя 1000 ^(1/3) равно 10, эта формула:
=1000^(0.333333333333333)
Возвращает это:
+9,99999999999998
Как правило, вы получаете почти столько же (иногда столько же) девяток, сколько вы предоставляете троек. Пока что все это ожидается, учитывая ограничения в 15 значащих цифр точности.
Но если вы введете эту формулу:
=1000^(1/3)
Вы получаете ТОЧНО 10. Даже если вы измените форматирование чисел, чтобы отобразить максимально возможные 30 десятичных знаков, и даже если вы выберете формулу и нажмете F9, чтобы оценить ее в строке формул, она вернется ТОЧНО 10.
Что делает Excel, чтобы получить ровно 10 из этого? "1/3" в формуле на самом деле не совсем 1/3 к тому времени, когда оператор power ("^") получает его в свои руки; к тому времени это действительно 0.333333333333333.
ОБНОВИТЬ:
Ладно, я думаю, что знаю, что позволяет Excel получить точный результат 10, не прибегая к каким-либо особым случаям.
Во-первых, Excel будет иметь алгоритм n-корня, и через этот алгоритм будет отправлено = 1000 ^(1/3), чтобы получить кубический корень из 1000.
(FWIW, формула типа = 1000 ^(2/3) будет разделена на две задачи - квадрат 1000, а затем корень куба этого результата или корень куба 1000, а затем квадрат этого результата .)
Согласно нормальным правилам оценки Excel, первое, что должно произойти, это то, что 1/3 будет оцениваться как 0,333333333333333. Затем эти 0,333333333333333 будут инвертированы и отправлены в n-й корневой алгоритм.
Но что происходит, когда Excel получает обратное значение 0,333333333333333? Мы получаем ровно 3, потому что 1/0.333333333333333 = 3.000000000000003 и с 15 значительными цифрами точности Excel, 3.000000000000003 усекается до 3.00000000000000, или точно до 3.
Таким образом, алгоритм n-корня Excel запрашивает корень куба 1000. Не корень 3.000000000000003, а точный корень куба. И ответ на это, конечно, ровно 10.
Я посмотрел на то, что Excel делает обратное обратное всех целых чисел через 150. Сначала я получил обратное значение, затем скопировал / вставил значения, чтобы убедиться, что Excel выполняет какие-либо специальные операции с инверсией обратного, а затем получил обратное значение обратного значения. Например:
- = 1/3
- Скопируйте / Вставьте значения, чтобы получить значение 0.333333333333333
- = 1 / 0,333333333333333
- Результат: ровно 3.
Все они вышли на их точные оригинальные целые числа. Ни один не вышел к чему-то как 37.9999999999999 или 38.0000000000001.
Так что это может объяснить, почему = 1000 ^(1/3) получается как 3. Никакой специальной обработки не требуется. Просто когда Excel получает обратное значение 1/3, чтобы получить кубический корень из 1000, он получает ровно 3. И то же самое, вероятно, справедливо для большинства или всех подобных примеров.
С другой стороны, это не объясняет, почему = 1000 ^(0.333333333333333) возвращает 9.99999999999998 вместо 10. Кажется, это противоречит тому, что мы видим в Excel с 1/0.333333333333333.