首页 > 解决方案 > getRange & setValue 设置错误的值

问题描述

抱歉,我只有基本的脚本知识

我正在尝试使用一个脚本,当提交表单响应时,它会根据输入的内容将其中的三个列复制到另一个工作表

例如,如果第二个问题的答案是苹果,它会将其发送到专用于苹果的电子表格等

表单上有超过 25 个字段,但我只想选择第 2、3 和 4 列

我一直在使用的代码发送数据,但它在 3 列中发送第 2 列而不是 2,3 和 4

例如:

而不是发送

XYZ

它发送

XXX

这是代码的副本:

function myspliFunction() {

  var Apples = SpreadsheetApp.openById('SheetID').getSheetByName('Sheet1')  
  var Oranges = SpreadsheetApp.openById('SheetID').getSheetByName('Sheet1')  
  var Form = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Form responses 3')  
  var site = Form.getRange(Form.getLastRow(), 4).getValue();  

  if (site == 'Apples'){
    var getApples = Form.getRange(Form.getLastRow(), 1, 1, 3).getValues();

    Apples.getRange(Apples.getLastRow()+1, 2, 1, 3).setValue(getApples);
  }
  if (site == 'Oranges'){
    var getOranges = Form.getRange(Form.getLastRow(), 2, 1, Form.getLastColumn()).getValues();

    Oranges.getRange(Oranges.getLastRow()+1, 1, 1, 3).setValue(getOranges);
  }
}

标签: google-apps-script

解决方案


推荐阅读