我正在尝试为第6行的每个新行生成一个简单但唯一的ID。我开始从B6添加数据,我需要在A6中生成一个ID。即使插入了新行,它也应该有效。问题是它显示了#NUM!
然而,我已经尝试过parseInt(x,10),parseInt(x),Number(x),并且两者都在工作。
我的代码:
function onEdit() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
var edditRow = SpreadsheetApp.getActiveRange().getRow();
var edditColumn = SpreadsheetApp.getActiveRange().getColumn();
var column0 = sheet.getRange(edditRow, 1, 1, 2);
var oValues = column0.getValues();
var userProperties = PropertiesService.getUserProperties();
var properties = userProperties.getProperty('id');
var id;
if (properties == null) {
userProperties.setProperty('id', '1');
if ((oValues[0][0] == '') && (edditRow > 5) && (oValues[0][1] != '')) {
id = Number(properties);
sheet.getRange(edditRow, 1, 1, 1).setValue(id);
id += 1;
userProperties.setProperty('id', id);
}
} else {
id = Number(properties);
Logger.log(id);
if ((oValues[0][0] == '') && (edditRow > 5) && (oValues[0][1] != '')) {
sheet.getRange(edditRow, 1, 1, 1).setValue(id);
id += 1;
userProperties.setProperty('id', id);
}
}
}
答案 0 :(得分:0)
您检查if (properties == null)
然后使用未定义的properties
var几行进入if
,这会导致无效值。