我在谷歌表格中管理一個跟蹤器,用戶應該在 A 列中輸入新的 ID。我需要阻止他們,并提醒他們,只要他們的條目是重復的(所以 ID 已經存在于 A 列中)。資料驗證不是一個好的選擇。我該怎么辦?
uj5u.com熱心網友回復:
我們用公式進行資料驗證
=countif($B$2:$B,B2)>1
uj5u.com熱心網友回復:
試試這個代碼:
var ss = SpreadsheetApp.getActiveSpreadsheet();
function onEdit(e) {
var sheet = ss.getActiveSheet()
var value = sheet.getActiveCell().getValue()
var r = sheet.getActiveRange().getRow()
var c = sheet.getActiveRange().getColumn()
var sheetName = sheet.getName();
if(value!=="" && c==1 && r>2 && sheetName == "Sheet2"){ // change condition before testing
var data = sheet.getRange("A2:A").getValues().filter(String).flat() // change rage according to requrments
if(data.indexOf(value)>-1){
e.range.setValue("")
}
}
}
uj5u.com熱心網友回復:
清除和提醒重復項
function onMyEdit(e) {
e.source.toast('Entry');
const sh = e.range.getSheet();
if(sh.getName() == "Sheet0" && e.range.columnStart == 1 && e.value !== null) {
e.source.toast("Flag1")
let u = [];
sh.getRange(2,1,sh.getLastRow() - 1).getDisplayValues().flat().forEach(el => {
if(!~u.indexOf(el)) {
u.push(el)
} else {
e.source.toast("Your have created a duplicate");
e.range.clearContent();
}
});
}
}
演示:

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/493955.html
上一篇:對同時包含數字和字串的列使用SUMIF/SUMIFS
下一篇:下拉選單腳本的資料匯入
