Как получить корень куба отрицательного числа в VBA для Excel? - PullRequest
3 голосов
/ 14 июля 2011

Я пытаюсь вычислить корень куба отрицательного числа в VBA для Excel. Получение корня куба отрицательного числа на листе Excel работает нормально:

=(-2)^(1/3)
-1.25992

Однако та же концепция закодирована в VBA:

(-2)^(1/3)

выдает ошибку #VALUE! при возврате значения на лист. Я подозреваю, что VBA анализирует 1/3 до своего десятичного представления 0.3333... и поэтому вызывает математическую ошибку, поскольку отрицательные числа не могут быть увеличены до нецелых степеней в реальной области. Есть ли обходной путь?

Ответы [ 4 ]

2 голосов
/ 16 июля 2011

Я думаю, что ответ CarlF / ваш является лучшим, но стоит упомянуть, что вы можете использовать Application.Evaluate для возврата результата буквальной формулы Excel:

Range("A1") =  Application.Evaluate("=(-2)^(1/3)")
2 голосов
/ 14 июля 2011

Попробуйте использовать функцию POWER():

POWER(-2, 1/3)
0 голосов
/ 19 апреля 2018

Если x - положительное действительное число, то корень куба из -x является просто отрицанием корня куба из x, т. Е. - (x ^ (1/3).

0 голосов
/ 02 августа 2011

Для меня это не сработало с (-2)^(1/3), как вы сказали.

Но это сработало с -2^(1/3).

Понятия не имею, почему это так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...