Google Sheets ArrayFormula问题

问题描述 投票:0回答:1

过去几个月来,我一直在google文档电子表格中使用以下公式。大约4周前,它停止工作了。我不知道为什么-尚未找到任何说明公式的工作方式已发生变化的信息,并且尚未进行更改或更改我的数据。

我得到的错误是:

“错误:参数为空,不是很有帮助。

这里是公式:

=arrayformula(
        sum(
            (Sheet1!$B$2:$B$100458=$A3)
            *
            (arrayformula(
                month(Sheet1!$A$2:$A$100458)
                )
                = month(C$1)
            )
            *
            (arrayformula(
                year(Sheet1!$A$2:$A$100458)
                )
                =year(C$1)
            )
        )
    )

它在第一列中具有唯一的ID,在第一行中具有日期(每月的1号)。然后,它通过工作表1,查找在月份和年份中有多少记录与该ID匹配,并返回计数。一段时间以来一切正常,不知道发生了什么。我什至尝试回到修订历史记录,但没有发现任何差异。

google-sheets google-sheets-formula array-formulas
1个回答
0
投票

不确定它为什么以前能起作用,但是在完成每个步骤之后,这就是我要做的,才能使其起作用。

=arrayformula(
    sum(
        iferror(
            arrayformula(Sheet1!$B$2:$B$100458=$A3)
            , FALSE
        )
        *
        iferror(
            arrayformula(
                month(Sheet1!$A$2:$A$100458)
                = month(C$1)
            )
            ,FALSE
        )
        *
        iferror(
            arrayformula(
                year(Sheet1!$A$2:$A$100458)  
                =year(C$1)
            )
            ,FALSE
        )   
    )
)

基本上重新排列一些arrayformula的顺序,并添加iferror()函数。似乎数组公式在通过记录末尾时会抛出错误而不是错误,因此sum也会抛出错误。 Iferror()解决了该问题。

© www.soinside.com 2019 - 2024. All rights reserved.