如何在已经包含一些单元格的行中添加信息?

时间:2019-07-29 20:56:49

标签: google-apps-script google-sheets

我正在使用appendRow()在Google表格中插入值,即使某些字段为空,如果任何单元格包含内容,它也会将值添加到下一行。

示例:单元格C1具有一个Sum公式= SUM(A1,B1)当我使用appendRow()插入一行时,由于C1的内容,这些值将添加到A2和B2而不是A1和B1中。

有什么办法解决这个问题?

function showUserForm() {

  var template = HtmlService.createTemplateFromFile("userForm");

  var html = template.evaluate();

  html.setTitle("Form");

  SpreadsheetApp.getUi().showSidebar(html);

}

function appendData(data){

  var ws= SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Records");
  ws.appendRow([data.depo,data.phone,data.game]);

}

function errorMsg(){

  Browser.msgBox("Name & Phone Required");

}

1 个答案:

答案 0 :(得分:1)

尝试一下:

function appendData(data){
  var sh=SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Records");
  var rg=sh.getRange(sh.getLastRow(),1);
  rg.setValue(data.depo);//column A
  rg.offset(0,1).setValue(data.phone);//column B
  rg.offset(0,3).setValue(data.game);//column D
}

function appendData(data){
  var sh=SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Records");
  var rg=sh.getRange(sh.getLastRow(),1,1,4);
  var vA=rg.getValues();
  vA[0][0]=data.depo;
  vA[0][1]=data.phone;
  vA[0][3]=data.game;
  rg.setValues(vA);
}