Как определить ТОЧНО тип ошибки в Google Sheets?

У меня есть электронная таблица, в которую мне нужно импортировать несколько данных из других электронных таблиц, поэтому у меня есть =importrange(<theOtherFile>,<cell>) в разных местах. Но я должен идти, один за другим разрешая доступ при первом создании моего файла.

Я хочу, чтобы на другом листе был список со всеми ссылками на документы, которые я связываю в документе. Там есть список всех документов, включая Google Docs и Google Presentations. Затем скрипт создает =importrange() для каждого из них, поэтому я могу одним махом нажать «Разрешить доступ» один раз для каждого файла (и необходимые значения появляются в других местах).

Проблема в том, что в этом огромном списке диапазонов импорта я не могу различить ошибки #REF, потому что у меня все еще нет разрешения на сбор данных из файла или потому, что файл вообще не является электронной таблицей (ошибка "Таблица не найдена". ).

Итак, мой вопрос: могу ли я заранее отличить Google Sheets от других типов файлов, чтобы мой скрипт не пытался их импортировать? Если не; Могу ли я как-то взаимодействовать с сообщением об ошибке #REF (таким образом я мог бы написать формулу, которая очищает ячейку, если ошибка importrange() не удалась, потому что файл вообще не является электронной таблицей)?


person Adriano_Pinaffo    schedule 27.09.2019    source источник


Ответы (2)


=ERROR.TYPE(A1)

#NULL!  1
#DIV/0! 2
#VALUE! 3
#REF!   4
#NAME?  5
#NUM!   6
#N/A    7
#ERROR! 8
(no error) #N/A

если в ячейке нет ошибки, ERROR.TYPE выдает ошибку. Использовать:

=IFERROR(ERROR.TYPE(B11);"No error")

person Max Makhrov    schedule 27.09.2019

Google Sheets предлагает только две функции для устранения ошибок:

  • IFERROR — возвращает первый аргумент, если он не является значением ошибки, в противном случае возвращает второй аргумент, если он присутствует, или пробел, если второй аргумент отсутствует.

  • IFNA — возвращает первый аргумент, если он не является значением ошибки #N/A, в противном случае возвращает второй аргумент, если он присутствует, или пробел, если второй аргумент отсутствует.

для анализа ошибки вы можете использовать:

  • ERROR.TYPE — возвращает число, соответствующее значению ошибки в другой ячейке.
  • ISREF — проверяет, является ли значение допустимой ссылкой на ячейку.
  • ISNA - Проверяет, является ли значение ошибкой #N/A.
  • ISERR — Проверяет, является ли значение ошибкой, отличной от #N/A
  • ISERROR — Проверяет, является ли значение ошибкой.
person player0    schedule 27.09.2019