为什么这个函数会抛出过滤错误?

时间:2015-02-23 22:48:18

标签: filter google-sheets formula formulas

我正在处理Google电子表格,如果符合某些条件,则会从其他表单中提取数据。好吧,至少它应该做什么 - 相反,我得到了#34;在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")) ) )

我已尝试使用index()函数的各种行和列参数。我还尝试在A3中搜索术语的开头和结尾添加*,以防出现问题。我也尝试在A3中围绕这个值加上引号。

我错过了什么?示例电子表格为here

2 个答案:

答案 0 :(得分:1)

我目前无法找到参考资料,但有一个已知问题与最新版本的Sheets要求您明确允许通过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)

答案 1 :(得分:1)

您可以通过创建一个页面来欺骗 IMPORTRANGE 问题,该页面仅从您想要嵌套引用的每张工作表中提取一个单元格。一旦获得许可,该许可将在整个工作表中持续存在。