Как определить, является ли переменная пуста, и установить новое значение в GAS? - PullRequest
0 голосов
/ 03 марта 2020

У меня есть столбец (строка [8]). Если ячейка пуста, я хочу, чтобы времена были = 0, иначе я хочу фактическое значение в ячейке. У меня есть несколько вариантов:

IF(times<>""){times==(row[8])} ELSE {(times=="0")}
IF(times==""){times==(row[8])} ELSE {(times=="0")}
IF(times=="NULL"){times==(row[8])} ELSE {(times=="0")}

Какой правильный синтаксис?

function exportEvents() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var headerRows = 1;  
  var range = sheet.getDataRange();
  var data = range.getValues();
  var calId = '....';
  var cal = CalendarApp.getCalendarById(calId);
  for (i in data) {
    if (i < headerRows) continue; 
    var row = data[i];
    var date = new Date(row[0]);
    var title = row[1];
    var tstart = setTimeToDate(date,row[2]);
    var tstop = setTimeToDate(date,row[3]);
    Logger.log('date = '+date+'tstart = '+tstart+'  tstop = '+tstop);
    var loc = row[4]; 
    var desc = row[5];
    var type = row[6];
    var NewWeekday = row[7];
    var times = row[8]   
    var id = row[9];      
    var enddate = new Date(row[10]);   

Ответы [ 2 ]

2 голосов
/ 03 марта 2020
  • IF...ELSE: в JavaScript такой конструкции нет. Это должно быть if...else
  • Пустая ячейка в листах Google возвращается как пустая строка "", при извлечении значений с использованием getValues
  • == является оператором сравнения и = является оператором присваивания
  • Чтобы изменить пустую строку на 0, используйте

    if(times === "") times = 0;
    
2 голосов
/ 03 марта 2020

Попробуйте:

times=(row[8])?row[8]:0;

Попробуйте:

function exportEvents() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var headerRows = 1;  
  var range=sheet.getDataRange();
  var data=range.getValues();
  var calId = '....';
  var cal=CalendarApp.getCalendarById(calId);
  for (var i=1;i<data.length;i++) {
    var row = data[i];
    var date = new Date(row[0]);
    var title = row[1];
    var tstart = setTimeToDate(date,row[2]);
    var tstop = setTimeToDate(date,row[3]);
    var loc = row[4]; 
    var desc = row[5];
    var type = row[6];
    var NewWeekday = row[7];
    var times = row[8]   
    var id = row[9];      
    var enddate = new Date(row[10]);   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...