如何在表单提交触发器的 B 列中找到时从 A 列中删除数字



我有两列数据,在 B 列中查找时,我正在尝试删除 A 列中的值.如果可能的话,我想删除单元格中的重复数字,但最重要的是,一旦在 I 列中找到,就删除 H 中的重复数字 这是我正在使用的表格我在你建议的应用脚本测试解决方案中引用我的工作表时遇到问题。

在"团队分配"表单提交时,我希望检查 H 列中的值是否存在 I 中的匹配/重复项,如果找到,则将其从 H 列中删除。 即 16 在 H 列第 2 行中,"团队分配"表单提交已将 16 添加到 I 列。

function deleteInColumn() {
 SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Project 
   Assigner").activate();
  var ss=SpreadsheetApp.getActive();
var sh=ss.getActiveSheet();
var rga=sh.getRange(1,8,sh.getLastRow(),1);
var vA=rga.getValues();
var rgb=sh.getRange(1,9,sh.getLastRow(),1);
var vB=rgb.getValues();
var vB=vB.map(function(r){return r[0]});
 var s=0;
 for(var i=0;i-s<vA.length;i++) {
  if(vB.indexOf(vA[i-s][0])>-1) {
    vA.splice(i-s,1);
  s++;
}
 }
 rga.clearContent();
 sh.getRange(1,1,vA.length,1).setValues(vA);
}`

列 A
1 2 4
4 3 6 5
2 9 7

列 B

阿拉伯数字41

列 A

36597

试试这个:

function deleteAIfInB() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getActiveSheet();
  var rga=sh.getRange(1,1,sh.getLastRow(),1);
  var vA=rga.getValues();
  var rgb=sh.getRange(1,2,sh.getLastRow(),1);
  var vB=rgb.getValues();
  var vB=vB.map(function(r){return r[0]});
  var s=0;
  for(var i=0;i-s<vA.length;i++) {
    if(vB.indexOf(vA[i-s][0])>-1) {
      vA.splice(i-s,1);
      s++;
    }
  }
  rga.clearContent();
  sh.getRange(1,1,vA.length,1).setValues(vA);
}

最新更新