Google apps script 数组的setValue()仅粘贴数组中的一个值

Google apps script 数组的setValue()仅粘贴数组中的一个值,google-apps-script,Google Apps Script,我有一张表,其中我在条形码列中的值末尾取最后一个数字,它表示订单中的项目总数。我将这些值放入一个数组中。然后我尝试将数组的值设置为“单位数”列。但是,它将数组的第一个值放入列中的所有单元格。如何让它将数组中的每个值放入“单位数”列下自己的单元格中 以下是表格中的问题: 下面是代码应该做的:(我只是手动输入值) 条形码列中最后一个连字符后面的数字是单位数 以下是我的代码,用于拆分条形码值并将数字添加到数组中: function numberOfUnits() { var ss = Sprea

我有一张表,其中我在条形码列中的值末尾取最后一个数字,它表示订单中的项目总数。我将这些值放入一个数组中。然后我尝试将数组的值设置为“单位数”列。但是,它将数组的第一个值放入列中的所有单元格。如何让它将数组中的每个值放入“单位数”列下自己的单元格中

以下是表格中的问题:

下面是代码应该做的:(我只是手动输入值)

条形码列中最后一个连字符后面的数字是单位数

以下是我的代码,用于拆分条形码值并将数字添加到数组中:

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;
}
这一行:

sheet.getRange(2, values[0].length, values.length, 1).setValue(units);
应该是

sheet.getRange(2, values[0].length, values.length, 1).setValues(units);

请注意
setValue
setValue
之间的差异

谢谢杰克·布朗。我花了30多分钟试图弄明白这一点,真不敢相信我错过了价值观末尾的“s”。再次感谢。
sheet.getRange(2, values[0].length, values.length, 1).setValues(units);