在Google sheets中合并多个工作表的带过滤器的数组公式-空工作表的问题



我使用这个公式合并多个表(大约100个,但为了简单起见,只使用3个表:Sheet1、Sheet2和Sheet3(,其中我不知道我有多少非空行(而且,它们通常会增加(。

={FILTER(Sheet1!A2:L;LEN(Sheet1!A2:A));FILTER(Sheet2!A2:L;LEN(Sheet2!A2:A));FILTER(Sheet3!A2:L;LEN(Sheet3!A2:A))}

如果所有工作表中至少有一行填充了值,则该公式运行良好。然而,问题是,例如,如果Sheet2为空,则公式会给我一个错误:

在ARRAY_LTERAL中,数组文字缺少一行或多行的值

如何修复此错误?

问题是:当工作表为空时,将返回错误消息。但这条信息只是一个单元格。要保持数组的形状,需要所有行都有12列(A到L(这就是为什么你有"数组文字"消息

您应该为设置一个条件,以便在出现内容为空的错误时创建一个由12个单元格组成的空行。

尝试:

Iferror(FILTER(Sheet1!A2:L;LEN(Sheet1!A2:A));{""""""""""""""""""""""""}) 

对于一张你知道是空的纸

\分隔符适用于某些工作表区域,但对于美国和英国,请使用逗号(正如我所看到的,在公式中的值之间使用分号,所以应该有效(。

最新更新