Google Spreadheets Scripts:检查单元格是否为空

时间:2017-01-15 18:51:41

标签: google-apps-script google-sheets cell spreadsheet

我想只在单元格为空时才在单元格中输入变量。但是,if语句不起作用。有什么建议吗?

var ss=SpreadsheetApp.getActiveSpreadsheet();
var r=ss.getRange("'odpovědi'!A2:J");

var rws=r.getNumRows();

ax=r.getCell(rws-1, 10).getValue();

if (ax == "") {
  ax = "foo";
  r.getCell(rws-1, 9).setValue(ax);
}

3 个答案:

答案 0 :(得分:10)

无需取代该值以确定该单元格是否为空。 Google Spreadsheet API已经有了一种方法:Laravel Eloquent Relationships

var cell = r.getCell(rws-1, 10);

if (cell.isBlank()) {
    cell.setValue("foo");
}

答案 1 :(得分:3)

尝试:

CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_login16`(
IN p_email VARCHAR(120),
IN p_password VARCHAR(120))
BEGIN
SELECT user_id,user_password FROM login WHERE user_email = p_email;

答案 2 :(得分:1)

如果您已经具有单元格值,则如果要避免类型转换(其中===),请使用!==0 == ""运算符。

用于减少非空单元格值的代码段

var sheet = ss.getSheets()[0];     
var range = sheet.getRange("E2:H5");
var currentValues = range.getValues();  

var newValues = [];
for (var row in currentValues) {
  var newRow = []; 
  for (var col in currentValues[row]) {
    if (currentValues[row][col] !==  "") { // if not empty cell
      newRow[col] = currentValues[row][col] - 1;          
    }
    else {
      newRow[col] = currentValues[row][col];
    }
  }
  newValues[row] = newRow;
}    
range.setValues(newValues);