【发布时间】:2020-05-23 16:29:31
【问题描述】:
使用谷歌应用程序脚本,我需要从电子表格 #1 复制数据,将其带到电子表格 #2 的最后一行,然后复制最后一行 - 1 中的公式(粘贴数据之前的行数)电子表格 #2 我刚刚复制的数据的长度
我尝试了几种方法,但没有一个能正常工作。 对于下面的一个,我尝试在电子表格 #2 的单元格 N1 中插入一个公式,以便它显示两个不同列中包含数据的行数的差异。然后我告诉脚本将公式从 lastrow 设置为 lastrow + 该值。
当我运行脚本时,它会复制公式 19 次,但 N1 是 4 次。然后我试图纠正它并说:lastrow + N1-15 的值并且工作正常。 然而,下次我尝试插入 8 个值而不是 4 个时,它复制了 12 次公式。
function OrdenarRango() {
// SpreadsheetApp.getActiveSpreadsheet().getSheetByName("PEDIDOS SIN ORDENAR").sort(5)
//Ordena los datos del rango según la columna E en orden descendente
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = ss.getSheetByName("PEDIDOS SIN ORDENAR");
var range = sheet1.getRange("A2:F");
range.sort({column: 5, ascending: false})
//Borra los valores del rango A2:D
var A = sheet1.getRange("A2:F").getValues();
var borrar = sheet1.getRange("A2:D").clearContent();
//Pega los valores en la última fila de PEDIDOS 2020
var ss1 = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/1zF84h_gR0zHPqwobYyuOQlo50L2ktpZr2e4orMNtqE8/edit#gid=382646794');
var sheet2 = ss1.getSheetByName("PEDIDOS 2020");
var lastRow = sheet2.getLastRow() + 1;
var destRange = sheet2.getRange(lastRow, 1, A.length, A[0].length).setValues(A);
//Copia las fórmulas del rango
var rango = sheet2.getRange("N1").getValue()
var formulas = sheet2.getRange(lastRow-1, 10, 1, 1).getFormulasR1C1();
var destino = sheet2.getRange(lastRow, 10, lastRow+rango, 1);
destino.setFormulaR1C1(formulas)
}
我也试过这个,只复制一次公式:
var rango = sheet2.getRange("N1").getValue()
var formulas = sheet2.getRange(lastRow-1, 10, 1, 1).getFormulasR1C1();
for (i= 0; i<=rango; i++) {
var destino = sheet2.getRange(lastRow, 10, 1, 1);
destino.setFormulaR1C1(formulas)}
还有这个,它会创建一个无限循环:
var rango = sheet2.getRange("N1").getValue()
while (rango > 0) {
var formulas = sheet2.getRange(lastRow-1, 10, 1, 1).getFormulasR1C1();
var destino = sheet2.getRange(lastRow, 10, 1, 1);
destino.setFormulaR1C1(formulas)}
一开始我尝试插入类似于 A.length 的内容,尽管我不记得确切的代码。反正也没用。
代码有什么问题。怎么解决?
Data before running the script
Data after running the script. I need to know the code for each product and the number
【问题讨论】:
-
也许你可以提供一些图片来给我们一个你正在尝试做的事情的例子。我很乐意提供帮助,但我就是不明白你在问什么。而且你的代码对我来说没有多大意义,当然你的 cmets 是西班牙语的,这对我不起作用。
标签: javascript google-apps-script string-length