我尝试创建一个数组公式,以在无限行数上运行特定函数,即每次在google电子表格中创建新行时,该公式也应针对该新行运行。然而,我得出的结论是,我需要脚本来完成这项工作,而数组函数不能完成这项工作。
我的初始电子表格有一个关于数据的行,基本上我需要的是:如果列BC="x“(从第3行开始),那么在列R:AI的范围内找到最大的值。我尝试了以下公式:
=数组公式(if(BC3:BC=“x”,MAX(R3:AI3),"") )
然而,这显然不起作用,我显然可以看出原因--虽然数组确实考虑了从BC3开始的列BC中的所有值,但它将只返回R3:AI3范围中的最大值。
我也试过了:
=数组公式(if(BC3:BC=“x”,MAX(R3:AI),"")
但这将返回整个范围R3:AI的最高值,并且在列BC的每一行中也返回相同的值。
所以我认为数组公式是不合适的--有没有人可以帮我写一个脚本来执行这个函数?
发布于 2017-11-14 22:20:23
您仍然可以使用ArrayFormula完成此任务,只需使用一些其他函数,即ROW()和INDIRECT()
=ARRAYFORMULA(IF(BC3:BC="x", MAX(INDIRECT("R" & ROW() & ":A" & ROW()))))编辑
显然,上述方法并不适用于某些公式,例如独立于它们所嵌套的ARRAYFORMULA的间接运算。我能得到的最接近的解决方案是:
=ARRAYFORMULA(IF(BC3:BC="x", "=MAXA(R"&ROW(BC3:BC)&":A"&ROW(BC3:BC)&")",""))我不能让它工作,但我只能做到这一点。看起来你终究还是需要一个脚本。
https://stackoverflow.com/questions/47286787
复制相似问题