使用此样本表更容易解释我的问题。
我有3个房间,每个房间有3个座位。我还有一份可以安排座位的人员名单。问题是我可以将同一个人放在两个或更多座位上。理想的行为是,当我在另一个座位上第二次选择同一个人时,它应该自动从他之前的座位上删除,这样就不可能重复人员。
尝试这样的事情:
function onMyEdit(e) {
//e.source.toast(`entree: e.value = ${e.value}`)
const sh = e.range.getSheet();
if(sh.getName() == "Sheet0" && e.range.rowStart >1 && e.range.rowStart < 5 && e.range.columnStart > 1 && e.range.columnStart <5 && e.value) {
//e.source.toast(`gate1 e.value = ${e.value}`)
let seated = sh.getRange(2,2,3,3).getValues().flat().filter(e => e);
let count = [... new Set(seated)].length == seated.length; Checks for duplicates
if(seated && !count){
e.range.setValue("");
e.source.toast(`gate2: allready seated`)
}
}
}