2015-12-11 2 views
0

В Google Таблицах можно ли «поймать» ошибку #NAME?Поймать ошибку #NAME

Пример

Хочу ячейка для отображения «YES», если функция доступна, и «НЕТ», если это не так.

Сначала я попытался: =IF(MYFUNCTION(), "YES", "NO"), но это возвращает ошибку #NAME вместо «НЕТ».

Затем я попробовал: =IFERROR(MYFUNCTION(), "NO", "YES"), но это возвращает #N/A.

ответ

1

использовать функцию IFERROR

https://support.google.com/docs/answer/3093304?hl=en

документация есть

так, синтаксис будет ЕСЛИОШИБКА (ЕСЛИ (MyFunction(), "ДА", "НЕТ"), "НЕТ")

, который, если ошибка получена в выражении IF, исключение выбрасывает NO. Ключевая ошибка, которую вы использовали, состоит в том, что iferror принимает два аргумента, и вы передавали их три, так что исходный условный как первый аргумент и результат iferror как второй

Теперь вам нужно MYFUNCTION вернуть булево

IF (ISERROR (MYFUNCTION(), FALSE) <> "FALSE", "ДА", "НЕТ")

это должно работать

+0

Кажется, всегда возвращается «НЕТ». Полезно знать, что IFERROR принимает только 2 аргумента, спасибо, спасибо. –

+0

Если он всегда возвращает нет, тогда вы всегда бросаете ошибку. Функция MYFUNCTION также должна возвращать логическое значение true или false, поэтому убедитесь, что ваш исходный условный оператор может оценивать это так что я изменяю свой ответ, вам может понадобиться искать не равный синтаксис, он может быть <> или! = –

+0

Также очевидно, передайте свою функцию значение, или просто просто ссылайтесь на пустой вызов функции –

Смежные вопросы