Как переработать длинную формулу в том же операторе if - PullRequest
1 голос
/ 29 января 2020

У меня есть оператор if, который выглядит следующим образом:

=If(LONG 1000-CHARACTERS FORMULA > 0, LONG 1000-CHARACTERS FORMULA, "null")

В Engli sh ячейка будет возвращать вывод формулы из 1000 символов, если эта формула из 1000 символов больше 0 .

Проблема заключается в копировании и вставке длинной формулы из 1000 символов.

Простой обходной путь - сохранение этой формулы из 1000 символов в скрытой ячейке (т. Е. B2), а затем запись это:

=If(B2 > 0, B2, "null)

Но я не хочу использовать вышеупомянутый метод, потому что у меня много ячеек с разными длинными формулами.

Вместо этого есть способ перерабатывать 1000- формула символов в операторе If? Возможный результат может выглядеть следующим образом:

=If(LONG 1000-CHARACTERS FORMULA > 0, xyz, "null")

1 Ответ

2 голосов
/ 29 января 2020

Вам нужна функция, которая имеет обратную и действительна только для положительных чисел. Хороший кандидат -

y=1/sqrt(x)

или

y=x^0.5

, обратное значение которого равно

x=y^-2

Таким образом, формула становится

Iferror(((long_formula^-.5)^-2,"null")

Однако из комментарии, ссылающиеся на предыдущий вопрос, похоже, что результат (из показателей) не может быть отрицательным числом, поэтому вы можете упростить его до 1 / (1 / long_formula), как в ответе @ Gary's Student (теперь удаленном).

Edit

Я забыл, что есть другой способ сделать это - использовать функцию Text для форматирования числа по-разному, если оно отрицательное или равно нулю:

=TEXT(long_formula,"general;\n\u\l\l;\n\u\l\l")

Результатом является строка, поэтому ее необходимо преобразовать в число, если (скажем) вы хотите сравнить его с другим числом.

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