过去几个月,我一直在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匹配的记录数并返回计数。它工作正常一段时间,不知道发生了什么。甚至尝试回到修订历史,并没有发现任何差异。
答案 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()解决了这个问题。