Google apps script 谷歌电子表格脚本:检查单元格是否为空
我只想在单元格为空时在单元格中输入变量。但是,if语句不起作用。有什么建议吗Google apps script 谷歌电子表格脚本:检查单元格是否为空,google-apps-script,google-sheets,cell,spreadsheet,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)
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);
}
尝试:
无需extact该值来确定单元格是否为空。Google电子表格API已经有了一种方法:
如果已经有单元格值,请使用
==
或==如果要避免类型转换,请使用代码>运算符(其中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);
第10列在一行,第9列在另一行,这是两个不同的单元格。打字错误。否则它将按预期工作。此方法isBlank()
是否有否定?行cell.isNotBlank()
。不,所以唯一可用的选项是使用否定符号,如:如果(!cell.isBlank())
假设,从我的行范围来看,前五行不是空的,但最后三行不是空的,那么怎么办?sh.getRange(2,1,8,26).getValues()?如何检查空白?
var cell = r.getCell(rws-1, 10);
if (cell.isBlank()) {
cell.setValue("foo");
}
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);