我有一张工作表,我在条形码列的值末尾取最后一个数字,表示订单中的项目总数。我把这些值放在一个数组中。然后我尝试将数组的值设置为“Number of Units”列。但是,它将数组的第一个值放入列中的所有单元格。如何让它将数组中的每个值放入“单位数”列下的自己的单元格中?
条形码列中最后一个连字符后的数字是单位数。
这是我的代码,它分割条形码值并将数字添加到数组中:
function numberOfUnits() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
//Get specific sheet
var sheet = ss.getSheetByName('Sheet3');
// get teh data on the sheet
var values = sheet.getDataRange().getValues();
var units = []
for (var i = 1 ; i < values.length; i++) {
var barcode = values[i][1];
var unit = barcode.split('-');
units.push(unit[unit.length-1]);
}
return units;
}
这似乎工作正常,但是当我从另一个函数中调用此函数时,就是当我收到错误时。
这是另一个功能:
function rate() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
//Get specific sheet
var sheet = ss.getSheetByName('Sheet3');
// get the data on the sheet
var values = sheet.getDataRange().getValues();
// sets the units as an array of all the units values
var units = numberOfUnits();
// sets the unit value to every cell under the "number of units" column
sheet.getRange(2, values[0].length, values.length, 1).setValue(units);
}
答案 0 :(得分:1)
这一行:
sheet.getRange(2, values[0].length, values.length, 1).setValue(units);
应该是
sheet.getRange(2, values[0].length, values.length, 1).setValues(units);
请注意差异setValues
与setValue
,documentation。