我正在使用这个公式来合并多张纸(大约 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_LITERAL 中,Array Literal 缺少一行或多行的值
我该如何解决这个错误?
问题是:当您的工作表为空时,会返回错误消息。但是这个消息只是一个单元格。你的数组保持它的形状需要所有行都有 12 列(A 到 L)这就是为什么你有“数组文字......”消息
您应该设置一个条件,以便在出现空内容错误时创建一个包含 12 个单元格的空行。
尝试:
Iferror(FILTER(Sheet1!A2:L;LEN(Sheet1!A2:A));{""\""\""\""\""\""\""\""\""\""\""\""})
对于您知道为空的工作表
\ 分隔符适用于某些工作表语言环境,但对于美国,英国使用逗号(因为我看到您在公式中的值之间使用分号,所以 \ 应该可以工作)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句