javascript - 比较不同的表格并清除匹配的单元格

标签 javascript google-apps-script google-sheets spreadsheet

我正在尝试比较两个不同的表值并删除匹配的单元格

这就是我尝试过的方法,但是当我运行它时,没有任何反应:

function clearSourceValues(){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sourceTable = ss.getSheetByName("Encaminhamento");  
  var targetTable = ss.getSheetByName("testeBD");


  var rowCount = targetTable.getLastRow() + 1;


  var sourceValues = sourceTable.getRange(2, 6, rowCount, 1).getValues();
  var targetValues = targetTable.getRange(2, 1, rowCount, 1).getValues();



  for (var i in targetValues){

    var clearRange = targetTable.getRange(i + 1, 2, 1, 8);

    if (targetValues[i][0] == sourceValues[i][0]){
      clearRange.clear();
    };
  };  
};

最佳答案

  • targetValuessourceValues 的“A”列的值为一样。

如果我的理解是正确的,这个答案怎么样?请将此视为几个可能的答案之一。

修改点:

  • 在您的脚本中,使用了 for (var i in targetValues){。在这种情况下,i 是字符串类型。这样,getRange(i + 1, 2, 1, 8) 中的 i + 1 就变成了 01, 11, 21, 31,,,.
  • 在您的脚本中,值是从 EncaminhamentotesteBD 的工作表中检索的。在您的情况下,值是从第 2 行检索的。在这种情况下,当 i0(即数字)时,它是第一行。这是与搜索到的行不同的行。

当以上几点反射(reflect)到你的脚本中时,它变成如下。

修改后的脚本:

在这个修改中,你的脚本被修改了。

从:
for (var i in targetValues){

  var clearRange = targetTable.getRange(i + 1, 2, 1, 8);

  if (targetValues[i][0] == sourceValues[i][0]){
    clearRange.clear();
  };
};
到:
for (var i = 0; i < targetValues.length; i++){ // Modified
  var clearRange = targetTable.getRange(i + 2, 2, 1, 8); // Modified
  if (targetValues[i][0] == sourceValues[i][0]){
    clearRange.clear();
  };
};

引用资料:

如果我误解了您的问题并且这不是您想要的方向,我深表歉意。

关于javascript - 比较不同的表格并清除匹配的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58885749/

相关文章:

javascript - jQuery 触摸事件 iOS 将无法工作

javascript - 如何在 Google App 脚本中为消息分配标签

javascript - 使用谷歌脚本的 Binance API 签名

google-apps-script - 如何使用 Google Apps Script 添加指向电子表格单元格的链接

javascript - 如何在 JavaScript 中对这个对象数组进行分组或合并?

javascript - onClick 按钮只工作一次

google-apps-script - 在 API 中查找 Gmail Snooze 日期

javascript - 如何在谷歌应用程序脚本中返回对象

javascript - 使用 IMPORTRANGE 删除一个电子表格从另一电子表格提取数据的权限

javascript - 我的 GreaseMonkey 脚本如何获取稍后将由 ajax 加载的数据?