Google sheets 使用arrayformula()自动重复Google工作表

Google sheets 使用arrayformula()自动重复Google工作表,google-sheets,Google Sheets,基于此,我得到了这个公式,它给出了一个主要问题的精确结果。。。它不会自动填充到新行 =arrayformula(if(countif(过滤器(G$2:G,A$2:A=A2,B$2:B=B2),“>”&G2)>0,countif(过滤器(G$2:G,A$2:A=A2,B$2:B=B2),“>”&G2),countif(过滤器(过滤器(E$2:E,A$2:A=A2,B$2:B=B2),“完成”) 我尝试过这个公式,看看它是否会自动填充到新行 =arrayformula(IF(ISNA(A2:A),,

基于此,我得到了这个公式,它给出了一个主要问题的精确结果。。。它不会自动填充到新行

=arrayformula(if(countif(过滤器(G$2:G,A$2:A=A2,B$2:B=B2),“>”&G2)>0,countif(过滤器(G$2:G,A$2:A=A2,B$2:B=B2),“>”&G2),countif(过滤器(过滤器(E$2:E,A$2:A=A2,B$2:B=B2),“完成”)

我尝试过这个公式,看看它是否会自动填充到新行

=arrayformula(IF(ISNA(A2:A),,IF(countif(filter(G$2:G,A$2:A=A2,B$2:B=B2),“>”&G2)>0,countif(filter(G$2:G,A$2:A=A2,B$2:B=B2),“>”&G2),countif(filter(filter(E$2:E,A$2:A=A2,B=B2),“Finished”)

…上述公式不会自动填充;但是,每个值都是
1
,而不是正确的值

我尝试了一个简单的公式,它并不能解决上述问题,但可能有助于解决问题。我怀疑上面的公式只是反复显示第一行的结果。为了测试,我尝试了这个公式

=arrayformula(IF(ISNA(A2:A),、间接(“g”)和行(间接(“g2:g”和counta(g2:g);))


…事实证明,上面的公式确实将G2的结果显示在每一行中。如果我能找出原因,我相信我可以从这个简单公式的解决方案中提取概念,并将其添加到上面更复杂的公式中。

请尝试以下公式:

=ArrayFormula(if(
 mmult(
  --(A2:A=TRANSPOSE(A2:A))*
  --(B2:B=TRANSPOSE(B2:B))*
  --(G2:G<TRANSPOSE(G2:G)),
  row(A2:A)^0)>0,
 mmult(
  --(A2:A=TRANSPOSE(A2:A))*
  --(B2:B=TRANSPOSE(B2:B))*
  --(G2:G<TRANSPOSE(G2:G)),
  row(A2:A)^0),
 mmult(
  --(A2:A=TRANSPOSE(A2:A))*
  --(B2:B=TRANSPOSE(B2:B)),
  --(E2:E="Finished"))
 )
)
开放范围重载此公式。如果您使用以下功能,它也可以更快地工作:

  • offset(E2,,,counta(E2:E))
    而不是
    E2:E

你能分享一份样本表吗?我知道哪里可能有问题,但如果没有任何想法或样本虚拟数据来测试,就无法猜测你想要做什么do@AuriellePerlmann-列“I”不会自动填充到新行,但会生成不正确的值。列“J”产生正确的值;但是,公式是手动复制到每一行的。@AuriellePerlmann-我之前提供的链接不允许您有足够的权限。。。这一个应该做的把戏。。。试着做一些不同的事情,这是唯一阻止数组公式的最后一个函数。我有点困惑,为什么要将countif与列G进行比较,这是工作表中的时间戳。
=ArrayFormula(mmult(--(A2:A=TRANSPOSE(A2:A))*
--(B2:B=TRANSPOSE(B2:B))*
--(G2:G<TRANSPOSE(G2:G)),
row(A2:A)^0))
=ArrayFormula(mmult(--(A2:A=TRANSPOSE(A2:A))
*--(B2:B=TRANSPOSE(B2:B)),
--(E2:E="Finished")))