Как точно определить тип ошибки в Google Sheets? - PullRequest
2 голосов
/ 27 сентября 2019

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

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

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

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

Ответы [ 2 ]

2 голосов
/ 27 сентября 2019

=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")

0 голосов
/ 27 сентября 2019

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

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

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

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

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