- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我使用 =arrayformula(split(input!G2:G, ","))
时,为什么拆分公式没有扩展到整个列?
我只得到输入的结果!G2 单元格,而不是 G 列中的其余部分。其他公式如 =arrayformula(find(",", input!G2:G))
似乎可以正常运行并毫无问题地扩展。
最佳答案
现在,应用于垂直阵列的 SPLIT 确实有效。 (2017 年 1 月 4 日)=ArrayFormula(SPLIT(input!G2:G,","))
或用于错误屏蔽=ArrayFormula(IFERROR(SPLIT(input!G2:G,",")))
注意:结果数组与 SPLITted 元素的最大数量一样宽。
(答案的其余部分不再适用,但出于……历史目的而保留?)
这将被视为一个非常糟糕的答案,但是:事实并非如此。
我怀疑这可能是因为它可能会产生一个锯齿状数组(每行中的元素数量不同),这可能被认为是有问题的。但是,以前版本的表格中曾经“工作”的“数组拆分”(尽管存在一个错误,即它不能在数组的第一个元素上正常工作)。
SPLIT 并不是唯一一个不能在数组上迭代的函数(例如,INDIRECT、INDEX、SUMIFS)。
一种解决方法(2017 年 1 月 4 日编辑):=ArrayFormula(REGEXREPLACE(input!G2:G&REPT(",",6),REPT("([^,]*),",6)&",*","$"&COLUMN(OFFSET(A1,,,1,6))))
OFFSET(A1,,,1,6) 和 REPT 函数中的 6 决定了 SPLIT 中的最大元素数。您可以注入(inject)一个表达式来计算数据列中元素的最大数量,但性能会受到更大的影响。
此外,这里需要注意的是,它只支持按单个字符(在本例中为逗号)进行拆分。
或者,您可以查看 Google Apps 脚本自定义函数。
以前的解决方法不再有效,因为 REGEXEXTRACT 似乎不再支持第二个参数的数组 - 无论如何它在 2017 年 1 月的情况。=ArrayFormula(IFERROR(REGEXEXTRACT(","&input!G2:G,"^"&REPT(",+[^,]+",COLUMN(OFFSET(A1,,,1,6))-1)&",+([^,]+)")))
关于split - ARRAYFORMULA() 不适用于 SPLIT(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26137115/
我是一名优秀的程序员,十分优秀!