迁移到新的Google电子表格.我有一个自定义公式,将一些数组合并到一个数组中
=TRANSPOSE(SPLIT(ARRAYFORMULA(CONCATENATE('Monthly link'!A10:A&CHAR(13) , 'Monthly link'!R10:R&CHAR(13) , 'Monthly link'!AG10:AG&CHAR(13) , 'Monthly link'!AU10:AU&CHAR(13) )), CHAR(13)))
这个公式在旧的Google电子表格中运行得很好,但在新版本中,它给了我一个" Error: Text result of CONCATENATE is longer than the limit of 50000 characters.
"
有没有解决的办法?我已经尝试了这个Array_Literal
公式,但似乎无法让它工作,这似乎是一个可能的解决方案.但似乎该功能将数组组合在一起而不是向下组合.
我试过了:
=array_literal('Monthly link'!A10:A,'Monthly link'!R10:R,'Monthly link'!AG10:AG,'Monthly link'!AU10:AU)
回到这里,你可以嵌套连接:
=TRANSPOSE(SPLIT(ARRAYFORMULA(CONCAT(CONCATENATE('Monthly link'!A10:A&CHAR(13) ,
'Monthly link'!R10:R&CHAR(13)), CONCATENATE('Monthly link'!AG10:AG&CHAR(13) ,
'Monthly link'!AU10:AU&CHAR(13)) )), CHAR(13)))
Run Code Online (Sandbox Code Playgroud)
我只是添加了一个CONCATENATE
以将字符串与仅一个值组合,然后用于CONCAT
组合它们.
编辑
这不完全是一个修复,但阅读谷歌文档说,你可以通过这里创建一个旧的电子表格.
编辑2
试试这段代码:
=TRANSPOSE(SPLIT(CONCAT(ARRAYFORMULA(CONCATENATE('Monthly link'!A10:A&CHAR(13),
'Monthly link'!R10:R&CHAR(13))), ARRAYFORMULA(CONCATENATE(
'Monthly link'!AG10:AG&CHAR(13), 'Monthly link'!AU10:AU&CHAR(13)))), CHAR(13)))
Run Code Online (Sandbox Code Playgroud)
似乎错误来自ARRAYFORMULA
,它有50000的限制.不是CONCATENATE
或CONCAT
.因此,我使用CONCAT
两个不同的ARRAYFORMULA
s 来组合两个原始数据.您可以继续划分它们,直到有4个ARRAYFORMULA
,如果需要,只有一个数据集.
编辑3
目前,我正在努力在这里找到的javascript中实现一个函数.
您可以通过当前测试Tools->Script editor->Paste
,然后运行它Tools->Script Manager->organizeData->Run
.
我会继续努力......它目前无法正常工作,但我很接近;)
编辑4
我说完了!你可以在这里看到它.您需要使用上述说明(Tools->Script editor->Paste
)创建一个新脚本,保存它,然后您可以通过脚本编辑器窗口或电子表格运行它Tools->Script Manager->organizeData->Run
.
脚本的作用是从表单中获取数据,将其放入要复制的数据中,然后它有一个奇怪的限制,它需要列中的一个字母才能复制它,所以它添加了一个字母,所以脚本将用"未定义"填充行.从那里,所有行都有"未定义",因此可以将数据复制到所有行.
如果您想知道如何将脚本直接实现到单元格中,您可以放置:
=organizeData()
Run Code Online (Sandbox Code Playgroud)
它会调用自定义函数!有关详细信息,请参见此处
不知道这是否有效,但可能值得一试.有人在Google文档帮助论坛上发布了此消息.
/.../ If you want more than 50,000 characters in a single cell, you can use QUERY's header clause.
Example:
=ArrayFormula(query(row(A1:A70000),,100000))
This creates a cell with 408,893 characters. You can verify by using the LEN function.
Run Code Online (Sandbox Code Playgroud)
好的,我修复了上面这样的行,我觉得它有效:
=ArrayFormula(query(A1:A100000,,100000))
Run Code Online (Sandbox Code Playgroud)
如果您在A列中有数据,从第1行到第100000行,则会将其连接起来.它将连接所有数据.我猜最大长度是100000个字符?
归档时间: |
|
查看次数: |
7353 次 |
最近记录: |