在FILTER中使用INDIRECT时出错

时间:2017-12-03 21:21:54

标签: google-sheets

我一直在用这个敲打我好几个小时,我看到了一些有INDIRECT的例子,有些甚至还有FILTER包含INDIRECT,这正是我试图做的,但是有一个原因我不知道,它不起作用。

我试图执行以下操作:

=FILTER('Form Responses 1'!D2:F, ('Form Responses 1'!D2:D=TODAY())+(ISBLANK('Form Responses 1'!E2:E)=FALSE()))

但是我想把它分成2部分,一个单元格(F1)将包含第二个参数:

('Form Responses 1'!D2:D=TODAY())+(ISBLANK('Form Responses 1'!E2:E)=FALSE())

第二个单元格将包含使用它的整个公式,如下所示:

=FILTER('Form Responses 1'!D2:F, INDIRECT(F1))

我得到的是一个错误:

  

" FILTER的范围大小不匹配。预计行数:116。列数:1。实际行数:1,列数:1。"

有什么想法吗?我已附上照片以进一步解释。 []

顺便说一句,奇怪的语言是希伯来语

1 个答案:

答案 0 :(得分:1)

简短回答

Google表格电子表格引擎无法将文本评估为公式。相关问题:Is there a way to evaluate a formula that is stored in a cell?

扩展答案

问题在于=FILTER('Form Responses 1'!D2:F, INDIRECT(F3)),根据屏幕截图,是因为F3是一个空白单元格,所以INDIRECT(F3)返回错误而不是必需的参数。

看起来你想要使用包含以下内容的F1而不是F3。

('Form Responses 1'!D2:D=TODAY())+(ISBLANK('Form Responses 1'!E2:E)=FALSE())

...但上述文本不是INDIRECT的正确参数,因为它需要单元格或范围地址形式的文本。

值得注意的是,Google表格电子表格引擎没有将文本评估为公式的功能。 INDIRECT只能返回一个单元格或范围(多个单元格)引用。