转换用于 ArrayFormula 的方程式会产生奇怪的值

Converting equation to be used for ArrayFormula results in weird values

我对 Y 列有以下(非常丑陋的)等式:

=IF(ISTEXT(Q2),"NO VIDEO DATA",IF(REGEXMATCH(VLOOKUP(I2,DEALS_RNG,COLUMN(DEALS!$G)-COLUMN(DEALS!$A)+1,FALSE), "Likes"), IF(P2>=(VLOOKUP(I2,DEALS_RNG,COLUMN(DEALS!$F)-COLUMN(DEALS!$A)+1,FALSE)), IF((R2<> W2),IF(R2,CONCATENATE("DUE: ", CONCATENATE("$",M2)),IF(W2,CONCATENATE("DUE: ", CONCATENATE("$",L2)),)),IF((R2* W2)>0,"COMPLETED",CONCATENATE("DUE: ", CONCATENATE("$",Z2)))),IF(today() >= N2+K2,IF(X2,"PAID: MUST REPOST","NO PAYMENT: MUST REPOST"),IF(today() < N2+K2,CONCATENATE((N2+K2)-today()," days remaining"),))), IF(Q2>=(VLOOKUP(I2,DEALS_RNG,COLUMN(DEALS!$F)-COLUMN(DEALS!$A)+1,FALSE)), IF((R2<> W2),IF(R2,CONCATENATE("DUE: ", CONCATENATE("$",M2)),IF(W2,CONCATENATE("DUE: ", CONCATENATE("$",L2)),)),IF((R2* W2)>0,"COMPLETED",CONCATENATE("DUE: ", CONCATENATE("$",Z2)))),IF(today() >= N2+K2,IF(X2,"PAID: MUST REPOST","NO PAYMENT: MUST REPOST"),IF(today() < N2+K2,CONCATENATE((N2+K2)-today()," days remaining"),)))))

没有深入了解这里的完整逻辑,基本上就像现在一样,当我向下拖动它时它运行正常:

我将我的 AND() 更改为 *,将 XOR() 更改为 <>,并将我的单元格从即 Q2 更改为 Q2:Q,等等。但是一旦在 ArrayFormula 中,公式就不再正常工作并且 returns 奇怪的数字(也许是内存?idk):

任何人都可以帮助我了解正在发生的事情以及如何解决这个问题吗?

感谢我能得到的任何帮助!

尝试:

=ARRAYFORMULA(IFERROR(IF(ISTEXT(Q2:Q), "NO VIDEO DATA",
 IF(REGEXMATCH(VLOOKUP(I2:I, DEALS_RNG, 7, ), "Likes"), 
 IF(P2:P>=(VLOOKUP(I2:I, DEALS_RNG, 6, )), 
 IF(R2:R<>W2:W, 
 IF(R2:R, "DUE: $"&M2:M,
 IF(W2:W, "DUE: $"&L2:L, )),
 IF((R2:R*W2:W)>0, "COMPLETED", "DUE: $"&Z2:Z)),
 IF(TODAY()>=(N2:N+K2:K), 
 IF(X2:X, "PAID: MUST REPOST", "NO PAYMENT: MUST REPOST"),
 IF(TODAY()<(N2:N+K2:K), (N2:N+K2:K)-TODAY()&" days remaining", ))), 
 IF(Q2:Q>=VLOOKUP(I2:I, DEALS_RNG, 6, ), 
 IF(R2:R<>W2:W, 
 IF(R2:R, "DUE: $"&M2:M,
 IF(W2:W, "DUE: $"&L2:L, )),
 IF((R2:R*W2:W)>0, "COMPLETED", "DUE: $"&Z2:Z)),
 IF(TODAY()>=(N2:N+K2:K),
 IF(X2:X, "PAID: MUST REPOST", "NO PAYMENT: MUST REPOST"),
 IF(TODAY()<(N2:N+K2:K), (N2:N+K2:K)-TODAY()&" days remaining", )))))))