1

Topic: Custom Functions

function deleteEmptyRows(){ 
  var sh = SpreadsheetApp.getActiveSheet();
  var data = sh.getDataRange().getValues();
  var targetData = new Array();
  for(n=0;n<data.length;++n){
    if(data[n].join().replace(/,/g,'')!=''){ targetData.push(data[n])};
    Logger.log(data[n].join().replace(/,/g,''))
  }
  sh.getDataRange().clear();
  sh.getRange(1,1,targetData.length,targetData[0].length).setValues(targetData);
}

2

Re: Custom Functions

Всплывающее окно, полезно для отслеживания содержимого переменных

function showMsg(str) {
  SpreadsheetApp.getUi().alert(str);
}

3

Re: Custom Functions

форматирование даты из строки

function formatDateTime(str) {
  var output = Utilities.formatDate(new Date(str), "GMT", "YYYY-MM-dd");
  return output;
}

4

Re: Custom Functions

Поиск первой пустой ячейки в колонке

function getFirstEmptyCell(sheetName,column,startRow)
{
   var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
   var data = ss.getDataRange().getValues();
   var row = startRow - 1;
   var col = column - 1;
  
   for(var i = row; i<data.length;i++)
   {
      if (data[i][col] == "")
      {
          i = i+1;
          break;
      }
   }
  return i;
}

5

Re: Custom Functions

проверить является ли строка числом

function isNumber(str){
    var output = false;
    if (!isNaN(parseFloat(str)) && isFinite(str))
        output = true;
  return output;
}