我正在使用作業表上的復選框來觸發腳本,以便下拉串列中的資料保存到相鄰的作業表中。要求是如果錄入的是同一個SRF號,則需要帶后綴保存。例如,如果 SRF No 'AS/SRF-004' 再次提交,它應該保存為 'AS/SRF-004/Rev',如果再次重復則 'AS/SRF-004/Rev-2' 等等。
不知道我問這個問題是否可能或愚蠢。
uj5u.com熱心網友回復:
當我看到您提供的電子表格時,我找到了您當前的腳本。盡管這隱藏在您的問題中,但我認為您可能想要使用此腳本。所以在這個答案中,我想建議修改你當前的腳本。
從您的問題和回復中,我了解到您的目標如下。
- 當設定“C6”和“C8”的值并在“SRF分配”表中選中復選框時,您希望將值放入“Helper(Assign Status-from down)的“A”和“B”列)“ 床單。那時,您要檢查“A”列中“C6”的值的個數,并將值
/REV-#作為后綴。 - 您想通過修改當前腳本來實作此目的。
如果我對你的目標的理解是正確的,那么下面的修改呢?
修改后的腳本:
function onEdit(e) {
var sh1 = e.source.getActiveSheet();
var r = e.range;
if (sh1.getName() == 'SRF Allotment' && r.getA1Notation() == 'C9' && r.getValue() === true) {
var sh2 = e.source.getSheetByName('Helper(Assign Status-from down)');
var v = r.offset(-3, 0).getValue();
var n = sh2.getRange("A2:A" sh2.getLastRow()).createTextFinder(v).matchEntireCell(true).findAll().length;
var values = [v, r.offset(-1, 0).getValue(), null, null, `${v}/REV-${n 1}`];
sh2.appendRow(values);
r.uncheck();
e.source.getSheetByName('SRF Allotment').getRangeList(["C6", "C8"]).clearContent();
}
}
- 在這個修改中,“SRF 分配”表的“C6”的值是從 的“A”列中搜索的
Helper(Assign Status-from down)。使用此結果,添加后綴,如${v}/REV-${n 1}. 我使用 TextFinder 來搜索值。
筆記:
- 在您的問題中,您似乎想使用
AS/SRF-004/Rev-2. 另一方面,在您的回復中,您似乎想使用AS/SRF-004/RevandAS/SRF-001/REV-01。從這種情況下,我無法理解您的實際后綴。所以我用${v}/REV-${n 1}. 如果這不是您的預期結果,請將其修改為您的預期結果。
參考:
- 類范圍的 createTextFinder(findText)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/456284.html
上一篇:根據映射表替換谷歌表中的資料
下一篇:在范圍內的“n”行集中搜索重復值
