我在我的范圍內有資料驗證,我想要一個腳本在字串的末尾插入文本(如果它無效),否則不要管它。這能做到嗎?
例子:

“CHILLS”是我的資料驗證的一部分,并遵循條件格式變為藍色。 “NOT VALIDATED”顯然不是上述驗證/格式的一部分(因此是紅旗)所以我希望它附加到“NOT VALIDATED (*)”
uj5u.com熱心網友回復:
我相信你的目標如下。
- 當輸入的值不包含在資料驗證規則的值中時,您希望添加
(*)到輸入的值中。
在這種情況下,以下示例腳本如何?
示例腳本:
function onEdit(e) {
const {range} = e;
if (range.columnStart < 2 || range.columnEnd > 3 || range.rowStart < 3 || range.rowEnd > 6) return;
const values = range.getDataValidation().getCriteriaValues()[0].getValues().flat();
if (!values.includes(e.value)) {
range.setValue(e.value "(*)");
}
}
- 從您的示例電子表格中,它假設下拉串列設定為單元格“B3:C6”。當你想改變這個范圍時,請修改上面的腳本。
筆記:
- 在此示例腳本中,根據您的問題,該腳本由 OnEdit 簡單觸發器運行。所以當你直接在腳本編輯器中運行腳本時,就會出現錯誤。請注意這一點。使用此腳本時,請在單元格“B3:C6”中輸入值。
參考:
- 簡單觸發器
- 事件物件
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/336720.html
