Google文档电子表格公式已停止运行

时间:2012-07-05 15:22:36

标签: google-docs google-sheets array-formulas

过去几个月,我一直在google docs电子表格中使用以下公式。大约4周前它停止了工作。我无法弄清楚为什么 - 没有找到任何说明公式如何工作的变化,并且没有对我的数据进行更改。

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

这是公式:

=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匹配的记录数并返回计数。它工作正常一段时间,不知道发生了什么。甚至尝试回到修订历史,并没有发现任何差异。

1 个答案:

答案 0 :(得分: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()函数。似乎在传递记录结束时,arrayformulas抛出错误而不是false,因此sum也抛出错误。 Iferror()解决了这个问题。