当值在 2 列应用程序脚本中匹配时删除行

米卡尔·查韦斯

我试图弄清楚为什么我的函数在遍历循环时不会增加到列值范围内的下一个值。我将分享以供参考(如下)。该函数旨在传递工作表和搜索键以在暂存和生产工作表中的两个列中查找值,并返回与两个工作表中的搜索键匹配的 rowNum。然后删除对应的行。请查看日志和执行成绩单(以下代码)

function findInColumn(sheet, data) 
{
  if(sheet.getName() == "Data" || sheet.getName() == "Info")
  {

    var column = sheet.getRange("D" + ":" + "D");  // like A:A

    var values = column.getValues(); 
    var row = 0;

    while ( values[row] && values[row][0] != data ) {
      row++;
    }

    if (values[row][0] == data) 
      return row+1;
    else 
      return -1;
  }
  else if(sheet.getName() == "AdData" || sheet.getName() == "AdInfo")
  {
    var columnID = sheet.getRange("C" + ":" + "C"),
        columnEmail = sheet.getRange("I"+ ":" + "I");  // like A:A

    var valuesID = [columnID.getValues()],
        valuesEmail = [columnEmail.getValues()]; 

    for(var row = 0;row<valuesID.length;row++)
    {
        if(valuesID[row][0] == data)
        {
          return Logger.log(row+1);
        }
        else if(valuesEmail[row][0] == data)
        {
          return Logger.log(row+1);
        }
        else
        {
         Logger.log("ID " + valuesID[row][0] + "\nEmail " + valuesEmail[row][0] + "\n");
         continue; 
        }
    }
    Logger.log("No matching ID AND Email were found");
  }
  else
  {
    return Logger.log("No sheet was found with that name.");
  }
}

执行记录:

[18-11-07 11:17:00:183 PST] SpreadsheetApp.getActiveRange() [0 秒]

[18-11-07 11:17:00:183 PST] Range.getRow() [0 秒]

[18-11-07 11:17:00:183 PST] Range.getLastRow() [0 秒]

[18-11-07 11:17:00:183 PST] Range.getColumn() [0 秒]

[18-11-07 11:17:00:183 PST] Range.getLastColumn() [0 秒]

[18-11-07 11:17:00:183 PST] SpreadsheetApp.getActiveSpreadsheet() [0 秒]

[18-11-07 11:17:00:190 PST] 开始执行

[18-11-07 11:17:00:194 PST] Logger.log([成功!命名值站点管理员选项:删除站点管理员,[]]) [0 秒]

[18-11-07 11:17:00:195 PST] SpreadsheetApp.getActiveSpreadsheet() [0 秒]

[18-11-07 11:17:00:304 PST] Spreadsheet.getSheetByName([Admin Data]) [0.109 秒]

[18-11-07 11:17:00:305 PST] SpreadsheetApp.getActiveSpreadsheet() [0 秒]

[18-11-07 11:17:00:305 PST] Spreadsheet.getSheetByName([Admin Info]) [0 秒]

[18-11-07 11:17:00:306 PST] Logger.log([123 [email protected], []]) [0 秒]

[18-11-07 11:17:00:306 PST] Sheet.getName() [0 秒]

[18-11-07 11:17:00:306 PST] Sheet.getName() [0 秒]

[18-11-07 11:17:00:306 PST] Sheet.getName() [0 秒]

[18-11-07 11:17:00:306 PST] Sheet.getRange([C:C]) [0 秒]

[18-11-07 11:17:00:307 PST] Sheet.getRange([I:I]) [0 秒]

[18-11-07 11:17:00:562 PST] Range.getValues() [0.255 秒]

[18-11-07 11:17:00:740 PST] Range.getValues() [0.176 秒]

[18-11-07 11:17:00:741 PST] Logger.log([ID Site ID Email Admin Email , []]) [0 秒]

[18-11-07 11:17:00:741 PST] Logger.log([未找到匹配的 SiteID 和管理员电子邮件,[]]) [0 秒]

[18-11-07 11:17:00:742 PST] Sheet.getName() [0 秒]

[18-11-07 11:17:00:742 PST] Sheet.getName() [0 秒]

[18-11-07 11:17:00:742 PST] Sheet.getName() [0 秒]

[18-11-07 11:17:00:742 PST] Sheet.getRange([C:C]) [0 秒]

[18-11-07 11:17:00:743 PST] Sheet.getRange([I:I]) [0 秒]

[18-11-07 11:17:01:001 PST] Range.getValues() [0.257 秒]

[18-11-07 11:17:01:002 PST] Range.getValues() [0 秒]

[18-11-07 11:17:01:004 PST] Logger.log([ID Site ID Email Admin Email , []]) [0 秒]

[18-11-07 11:17:01:004 PST] Logger.log([未找到匹配的 SiteID 和管理员电子邮件,[]]) [0 秒]

[18-11-07 11:17:01:004 PST] Sheet.getName() [0 秒]

[18-11-07 11:17:01:004 PST] Sheet.getName() [0 秒]

[18-11-07 11:17:01:004 PST] Sheet.getName() [0 秒]

[18-11-07 11:17:01:005 PST] Sheet.getName() [0 秒]

[18-11-07 11:17:01:005 PST] Sheet.getRange([C:C]) [0 秒]

[18-11-07 11:17:01:006 PST] Sheet.getRange([I:I]) [0 秒]

[18-11-07 11:17:01:255 PST] Range.getValues() [0.248 秒]

[18-11-07 11:17:01:556 PST] Range.getValues() [0.3 秒]

[18-11-07 11:17:01:557 PST] Logger.log([ID Site ID Email Admin Email , []]) [0 秒]

[18-11-07 11:17:01:558 PST] Logger.log([未找到匹配的 SiteID 和管理员电子邮件,[]]) [0 秒]

[18-11-07 11:17:01:558 PST] Sheet.getName() [0 秒]

[18-11-07 11:17:01:558 PST] Sheet.getName() [0 秒]

[18-11-07 11:17:01:558 PST] Sheet.getName() [0 秒]

[18-11-07 11:17:01:558 PST] Sheet.getName() [0 秒]

[18-11-07 11:17:01:558 PST] Sheet.getRange([C:C]) [0 秒]

[18-11-07 11:17:01:559 PST] Sheet.getRange([I:I]) [0 秒]

[18-11-07 11:17:01:817 PST] Range.getValues() [0.257 秒]

[18-11-07 11:17:02:035 PST] Range.getValues() [0.217 秒]

[18-11-07 11:17:02:036 PST] Logger.log([ID Site ID Email Admin Email , []]) [0 秒]

[18-11-07 11:17:02:037 PST] Logger.log([未找到匹配的 SiteID 和管理员电子邮件,[]]) [0 秒]

[18-11-07 11:17:02:037 PST] Sheet.getName() [0 秒]

[18-11-07 11:17:02:037 PST] Sheet.getName() [0 秒]

[18-11-07 11:17:02:037 PST] Sheet.getName() [0 秒]

[18-11-07 11:17:02:038 PST] Sheet.getRange([C:C]) [0 秒]

[18-11-07 11:17:02:038 PST] Sheet.getRange([I:I]) [0 秒]

[18-11-07 11:17:02:316 PST] Range.getValues() [0.278 秒]

[18-11-07 11:17:02:318 PST] Range.getValues() [0 秒]

[18-11-07 11:17:02:320 PST] Logger.log([ID Site ID Email Admin Email , []]) [0 秒]

[18-11-07 11:17:02:320 PST] Logger.log([未找到匹配的 SiteID 和管理员电子邮件,[]]) [0 秒]

[18-11-07 11:17:02:324 PST] 执行失败:找不到方法 deleteRow((class))。(第 113 行,文件“宏”)[总运行时间为 2.127 秒]

史密斯

代替

var valuesID = [columnID.getValues()],
valuesEmail = [columnEmail.getValues()];

经过

var valuesID = columnID.getValues(),
valuesEmail = columnEmail.getValues(); 

在这里,您试图增加一个 3D 数组,就像它是一个 2D 数组一样。getValues已经返回一个二维数组。

参考

获取值()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当值改变时保持 2 <select> 同步

来自分类Dev

当值在 R 中的某些列中匹配时过滤行

来自分类Dev

当值为 (2x2) numpy 数组时,在独立字典中添加值

来自分类Dev

当值匹配时,perl将行转换为列

来自分类Dev

当值以加号('+')结尾时,删除Excel记录

来自分类Dev

仅当值不为空时更新mySQL

来自分类Dev

当值不变时,从jQueryUI Slider刷新UpdatePanel

来自分类Dev

仅当值不为空时更新mySQL

来自分类Dev

当值改变时播放声音

来自分类Dev

当值存在时,Firebase 快照等于 null

来自分类Dev

当值为 Just 时设置属性

来自分类Dev

当值加倍时,加法与乘法与左移操作

来自分类Dev

如何从python字典中获取匹配的项目?当值是数组时

来自分类Dev

当值为0.00时如何在货币列中插入“-”

来自分类Dev

当值为0.00时如何在货币列中插入“-”

来自分类Dev

当值为0时不显示表中的列

来自分类Dev

哪些因素决定了Warp应用程序中settingsFork的适当值?

来自分类Dev

Amchart 4:当值= 0时删除网格线

来自分类Dev

R-当值都相同时删除列

来自分类Dev

我想要具有5个值的HTML搜寻栏,当值显示image1时,也像值2显示image2一样

来自分类Dev

当值未更改时,MySQL在更新时不影响行

来自分类Dev

仅当值不存在时才返回行

来自分类Dev

当值等于设定值时列的总和

来自分类Dev

当值存在时获取列索引作为值

来自分类Dev

当值是列表中的元组时,从字典中获取值列表?

来自分类Dev

当值与另一列匹配时,Pandas 系列中的回填值

来自分类Dev

当值为null时在datalabels中显示N / A-Highcharts

来自分类Dev

当值重复时,在ggplot中重新排列构面

来自分类Dev

当值是 reduce 函数 (CouchDB) 中的对象时访问属性

Related 相关文章

热门标签

归档