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
=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")))