在Javascript中使用if语句来确定Google电子表格中的单元格是否包含内容

时间:2016-02-05 17:48:29

标签: javascript google-apps-script google-sheets

此代码从我的工作表中的不同位置获取值,并将组合数据写入另一个工作表。

问题是,如果行为空白,则代码会将空行复制到接收表中。我想先检查单元格“B8”,如果是空白,请跳过此功能并运行下一个功能。

如果单元格“B8”中有数据(任何内容,但通常都是日期),那么我想运行该函数将代码复制到新工作表中。

这是我的代码:

function submitButtonClick() {

  //Begining of entry8 transfer start.
  
  var ss = SpreadsheetApp.getActive();
  var sheet = ss.getActiveSheet();
  Logger.log('sheet.getName(): ' + sheet.getName());
  
  if (sheet.getName() !== "TimeCardEntry") {return;};
  
  var targetSheet = ss.getSheetByName("TimeSheetRecord");
  var arrayOfData = [];
  
  var weekBegining = sheet.getRange(4, 11).getValue();
  var employName = sheet.getRange(4, 4).getValue();
  
  var entry8 = sheet.getRange(8,2,1,9);
  var entry8Data = entry8.getValues()[0];//Get inner array of the rows data
  Logger.log('entry8Data: ' + entry8Data);

  //Add weekBegining and employName values to the array
  entry8Data.splice(0, 0, weekBegining, employName);
  //Push row data into another, outer array. setValuies() needs a 2D array.
  arrayOfData.push(entry8Data);
  
  Logger.log(arrayOfData);
  
  var lastRow = targetSheet.getLastRow();
  Logger.log('lastRow: ' + lastRow);
                                      
  targetSheet.getRange(lastRow+1, 1, 1, entry8Data.length).setValues(arrayOfData);
  
  sheet.getRange('B8:M8').clearContent();

    //End of entry8 transfer.
  }

1 个答案:

答案 0 :(得分:0)

您可以在这些行之间添加一些代码:

var arrayOfData = [];

var weekBegining = sheet.getRange(4, 11).getValue();

更改为:

var arrayOfData = [];

var B8_Value = sheet.getRange(8, 2).getValue();
if (B8_Value === "") {return;};//If cell value is empty stop code here

var weekBegining = sheet.getRange(4, 11).getValue();