我正在尝试使用脚本验证内容并限制Google表格中一行的单元格中的输入。单元格必须是介于100000和999999之间的数字,并且内容不能重复。如果输入重复,则会出现一条消息,告知用户重复的内容。如果该数字不是按规则的六位数,则会向用户通知消息。
我尝试了Google的数据验证,但仅限于一个“自定义”命令(据我所知)。还尝试了条件格式设置,但没有获得我想要的通知结果,只在重复的单元格上突出显示了。最后将两者结合使用,虽然可行,但这不是我想要的结果。
function validateMySpreadsheet() {
// Rule for the cells to be a number between 100000 and 999999.
var cell = SpreadsheetApp.getActive().getRange('A2:A1000');
var rule = SpreadsheetApp.newDataValidation()
.requireNumberBetween(100000, 999999)
.setAllowInvalid(false)
.setHelpText('Enter a number between 100-000 and 999-999.')
.build();
// Rule to check for duplicates and deny input if TRUE
var duplicate = SpreadsheetApp.newDataValidation()
//Code missing HERE to check for duplicates in "cell"
.setAllowInvalid(false)
.setHelpText('Number entered already exists.')
.build();
cell.setDataValidation(rule);
cell.setDataValidation(duplicate);
}
预期结果将是在此行的任何单元格中输入ID号,如果该数字不符合规则(此部分代码有效且结果符合预期),则会收到通知。当指定的单元格区域中已经存在该ID时,也会获得通知(第二部分缺少某些代码会导致问题)。