Google apps script 联接结果的长度超过50000个字符的限制
我试图将A列中的文本组合起来,并将其与B列中的每一种可能性相匹配。我使用了以下公式: 在C1中:Google apps script 联接结果的长度超过50000个字符的限制,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我试图将A列中的文本组合起来,并将其与B列中的每一种可能性相匹配。我使用了以下公式: 在C1中: =transpose(split(join("", arrayformula(rept(filter(A1:A, len(A1:A))&char(9999), counta(B1:B)))), char(9999))) 在D1中: =transpose(split(rept(join(char(9999), filter(B1:B, len(B1:B)))&char(9999)
=transpose(split(join("", arrayformula(rept(filter(A1:A, len(A1:A))&char(9999), counta(B1:B)))), char(9999)))
在D1中:
=transpose(split(rept(join(char(9999), filter(B1:B, len(B1:B)))&char(9999), counta(A1:A)), char(9999)))
但当我在列表中使用它时,我分别在C1和D1中得到这些错误
联接的文本结果超过50000个字符的限制报告的文本结果超过32000个字符的限制 我用一个较小的列表测试了这一点:
a b c 1 2
合并两个单元格后,我的列表生成了这个:
a 1
a 2
a 3
b 1
b 2
b 3
但是我正在合并的列表在每一列中都有更多的文本
关于如何组合我的列表,如上图所示,但A列有132种可能性,B列有52种可能性,有什么建议吗
每行文字长度在70到150个字符之间。进入菜单
工具→ 脚本编辑器…
粘贴此代码:
function crossJoin(arr1, arr2, delim) {
delim = delim || '';
var result = [];
var row = [];
for (var i = 0; i < arr1.length; i++) {
for (var j = 0; j < arr2.length; j++) {
row = [];
row.push('' + arr1[0,i] + delim + arr2[0,j]);
result.push(row);
}
}
return result;
}
函数交叉连接(arr1、arr2、delim){
delim=delim | |'';
var结果=[];
var行=[];
对于(变量i=0;i
保存项目
将其用作电子表格中的常规功能:
=交叉连接(A1:A132,B1:B52)
可选使用delimeter:
=交叉连接(A1:A132,B1:B52,“-”
这很有效!!!!!!!!!!非常感谢你!!!!这节省了我很多时间。如果我使用的是一个小数据集,我使用的原始公式是有效的。但我把这个放进去,拿到了6000多件物品。你太棒了。