2015-02-23 1 views
-1

Я работаю с таблицей Google, которая извлекает данные с другого листа, если выполняются определенные условия. Ну, по крайней мере, так оно и должно быть - вместо этого я получаю «Никаких совпадений не найдено в оценке FILTER».Почему эта функция выбрасывает ошибку фильтра?

Функции:

=filter(importRange("https://docs.google.com/spreadsheets/d/1Z_7hl4uEc-an2rOUgOd_zYhCeb_QNIZopahJqBYooRg/edit#gid=0", "Sheet1!R2:R5000"), SEARCH(A3 , index(importRange("https://docs.google.com/spreadsheets/d/1Z_7hl4uEc-an2rOUgOd_zYhCeb_QNIZopahJqBYooRg/edit#gid=0", "Sheet1!V2:V5000")))) 

Я попробовал его с различными строками и столбцами параметров для функции индекса(). Я также попытался добавить * к началу и концу поискового запроса в A3, если это проблема. Я также попытался помещать кавычки вокруг значения в A3.

Что мне не хватает? Типовая таблица - here.

+0

В настоящее время ваш образец сс не доступен. – AdamL

ответ

1

Я не могу найти ссылку на данный момент, но есть известная проблема, связанная с тем, что в новейшей версии таблиц требуется явно разрешить доступ к другому листу через ImportRange. Проблема в том, что когда ImportRange вложен, он не дает возможности разрешить доступ - он просто вернет ошибку #REF внутри вашей формулы.

Обходной просто вызвать IMPORTRANGE сам по себе первым (вы можете использовать меньший диапазон):

=ImportRange("https://docs.google.com/spreadsheets/d/abcdefg","Sheet1!R2")

затем «Разрешить доступ» при появлении соответствующего запроса; затем вложите его в формулу.

Как и в сторону, то целесообразно использовать IMPORTRANGE в несколько раз, как это возможно, так что в вашем случае это может быть лучше использовать QUERY:

=QUERY(ImportRange("https://docs.google.com/spreadsheets/d/abcdefg","Sheet1!R2:V5000"),"select Col1 where Col5 contains '"&A3&"'",0)

+0

Это сработало, как только я использовал другой importrange, чтобы заставить процесс «разрешить доступ». Большое вам спасибо за вашу помощь! – Dani