使用具有Split()的数组公式

时间:2015-05-22 14:10:28

标签: google-sheets

我有一张包含一些数据的表格。数据集很可能会增长,我希望通过它来引用它的公式随之成长。

我试过了:

=ArrayFormula(split(B16:B,";"))

我希望看到公式复制到工作表的整个长度(几千行),而只是第16行产生了结果。

我对阵列公式的理解是否正确?还有其他解决方案吗?我可以使用应用程序脚本,但想知道我在这里做错了什么或者是否有更快的方法?

1 个答案:

答案 0 :(得分:2)

Split()在Arrayformula中不起作用。有解决方法。一个涉及使用regexextract,看起来像这样

=ArrayFormula(IFERROR(REGEXEXTRACT(";"&B16:B,"^"&REPT(";+[^;]+",COLUMN(OFFSET(A1,,,1,3))-1)&";+([^;]+)")))

“;”是分隔符,“3”将是一个单元格中的最大分割/列输出。例如:

的单元格

值;值;价值 - >拆分时会有3列输出。

希望有道理吗?

编辑:最近的更新(2017年1月)可以在数组上迭代split()。像

这样的东西
=ArrayFormula(split(B16:B,";"))

现在应该可以。