如何将填充到一张纸上不同列的数据转移到另一张纸上,但在同一列中?我尝试运行我的代码,但是收到一条错误,提示“异常:参数 (number[]) 与 SpreadsheetApp.Range.setValues.dewarData 的方法签名不匹配”(关于代码的最后一行) )。我在下面提供了部分代码:
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet1 = ss.getSheetByName('Form Response Data')
const sheet2 = ss.getSheetByName('Data Overview');
let [vb] = sheet1.getDataRange().getDisplayValues().map(([a,b,c,d,e,f,au,az,ba,bb,bc,bd,be])=>
[`${az} ${ba} ${bb} ${bc}`]);
sheet2.getRange(3,10,vb.length,vb[0].length).setValues(vb);
在您的显示脚本中,
vb
${az} ${ba} ${bb} ${bc}let [vb] = sheet1.getDataRange().getDisplayValues().map(([a,b,c,d,e,f,au,az,ba,bb,bc,bd,be])=> [
的]);
是类似于["## ## ## ##"]
的值。并且,values
中的setValues(values)
必须是二维数组。我认为这可能是您当前问题的原因。
但是,不幸的是,从你的问题来看,我无法理解你的预期结果。所以,在这个答案中,我想提出以下两种模式。
如果只想放入输出数组的第一个元素,请按如下方式修改。
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet1 = ss.getSheetByName('Form Response Data')
const sheet2 = ss.getSheetByName('Data Overview');
let [vb] = sheet1.getDataRange().getDisplayValues().map(([a, b, c, d, e, f, au, az, ba, bb, bc, bd, be]) => [`${az} ${ba} ${bb} ${bc}`]);
sheet2.getRange(3, 10).setValue(vb[0]);
如果要放入输出数组的所有元素,请修改如下。
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet1 = ss.getSheetByName('Form Response Data')
const sheet2 = ss.getSheetByName('Data Overview');
let vb = sheet1.getDataRange().getDisplayValues().map(([a, b, c, d, e, f, au, az, ba, bb, bc, bd, be]) => [`${az} ${ba} ${bb} ${bc}`]);
sheet2.getRange(3, 10, vb.length).setValues(vb);