【问题标题】:Google Sheets ArrayFormula issue谷歌表格数组公式问题
【发布时间】:2012-07-06 01:02:46
【问题描述】:

在过去的几个月里,我一直在 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】:

    不知道为什么它之前有效,但在完成每个步骤之后,这是我必须做的才能让它工作。

    =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() 解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2019-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-09
      • 2021-08-15
      • 1970-01-01
      • 2022-01-03
      相关资源
      最近更新 更多