使用 ArrayFormula 的困难

Difficulties using ArrayFormula

我正在尝试使用 ArrayFormula 来填充行数据。当我向下拖动时,我有以下公式可以完美地工作,但是我无法弄清楚我应该如何调整它以使用 ArrayFormula。

在我将 U2 更改为 U2:U 以用于 ArrayFormula 的每一行中填充数据的方程式:

=IF(HOME!U2:U<>"",TRANSPOSE(IMPORTXML(LEFT(HOME!U2:U,FIND("#",SUBSTITUTE(HOME!U2:U,"/","#",4))-1),"//strong[@data-e2e='video-views']")),"")

这是我在使用 ArrayFormula 时出现的相应错误(“函数 FIND 参数 2 值应为非空。 "):

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

IMPORTXMLARRAYFORMULA 下不受支持。您将需要坚持使用 per-row 解决方案。

Google 表格中的 FIND 公式(您可以阅读更多相关信息 here), needs a non-empty text_to_search parameter. In your case this parameter is obtained by using the SUBSTITUTE formula (you can read more about it here),如果无法执行,它将 return 一个空值替换。

这可以通过稍微修改开头的IF语句来解决,objective只有return如果没有空FIND函数=28=] 过程中。在下面的示例中,我使用 IFERROR 函数(您可以阅读有关它的更多信息 here)。

==ArrayFormula(IF(IFERROR(FIND("#",SUBSTITUTE(A1:A,"/","#")))<>"",FIND("#",SUBSTITUTE(A1:A,"/","#")),"empty"))

结果如下: