【问题标题】:Array Formula with Filter for merging multiple sheets in Google Sheets - problem with empty sheet带有过滤器的数组公式用于合并 Google 表格中的多个工作表 - 空工作表的问题
【发布时间】:2021-06-16 09:05:21
【问题描述】:

我正在使用此公式合并多张工作表(大约 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 中,一个数组文字缺少一行或多行的值

我该如何解决这个错误?

【问题讨论】:

    标签: google-sheets google-sheets-formula


    【解决方案1】:

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

    您应该设置一个条件,以便在出现空内容错误的情况下创建一个包含 12 个单元格的空行。

    试试:

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

    对于您知道为空的工作表

    \ 分隔符适用于某些工作表区域设置,但对于美国、英国使用逗号(我看到您在公式中的值之间使用分号,所以 \ 应该可以工作)。

    【讨论】:

    • 就像一个魅力,除了在 {""\"""\""\"""""\""\""\" 的末尾有一个 \" "\""\""\""\""\} 应该被删除以使其正常工作(您可能需要为未来的读者编辑您的评论:-))谢谢!
    • 很高兴我能帮上忙。错误现已更正。感谢您的通知 - 当您无法实际测试代码时,很容易出错。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-08
    • 1970-01-01
    • 1970-01-01
    • 2023-01-19
    • 2016-07-05
    相关资源
    最近更新 更多