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

Use an if statement in Javascript to determine if a cell in a google spreadsheet has contents

本文关键字:单元格 是否 电子表格 Google Javascript if 语句      更新时间:2023-09-26

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

问题是,如果该行为空,则代码会将空白行复制到接收表中。我想先检查单元格"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.
  }

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

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();