0

在过去的几个月里,我一直在谷歌文档电子表格中使用以下公式。大约 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,查找在月份和年份中有多少记录与该 ID 匹配并返回计数。有一阵子还好好的,不知道怎么回事。我什至尝试回到修订历史并没有发现任何差异。

4

1 回答 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
        )   
    )
)

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

于 2012-07-05T16:12:48.997 回答