【问题标题】:Delete row in google spreadsheet from a specific range based on values from a specific cell range根据特定单元格范围内的值从特定范围内删除谷歌电子表格中的行
【发布时间】:2020-05-22 00:25:31
【问题描述】:

我的脚本需要一点帮助。

首先,这里是 ss 的链接: https://docs.google.com/spreadsheets/d/1TgG64irjoxkV9wKlT5bEnaNEWlGyOlNxVoLxOmQZ2BA/edit?usp=sharing

我想根据工作表“概览”(范围:C4:C12)中的值从工作表“团队 1”(范围:A15:A41)中删除行。

基本上,如果在 A15:A41 中找到 C4:C12 中的任何值,则应删除找到的行。

例如。对于我的 ss:C4 = 3,这意味着在工作表“Team 1”中,第 17 行应该是 已删除。

到目前为止我的脚本:

function deleteRows() {

  var ss = SpreadsheetApp.getActiveSpreadsheet();

  var s1 = ss.getSheetByName('Overview');

  var s2 = ss.getSheetByName('Team 1');

  var r1 = s1.getRange("C4");

  var v1 = r1.getValue();

  var r2 = s2.getRange("A2:A28");

  var v2 = r2.getValues();

 for(var i=28;i>0;i--)

    if(v1[i]=v2)

      s2.deleteRow(i+1);
};

但我得到的唯一结果是删除所有行,不考虑条件。

谢谢。

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    我相信你的目标如下。

    • 您想通过比较工作表Overview 中的单元格“C4”与工作表Team 1 中的单元格“A2:A28”来删除工作表Team 1 的行。

    对于这个,这个修改怎么样?

    修改点:

    • 在您的脚本中,v1 是一个不是数组的值。 v2 是二维数组。
      • 在这种情况下,在v1[i]=v2,尝试将二维数组放入undefined。这样,v1[i]=v2 始终存在。所以s2.deleteRow(i + 1); 总是运行。我认为这是您的问题的原因。
    • 当您要比较值时,请在 if 语句中使用== 和/或=== 而不是只使用=
    • 数组的第一个索引是0
    • 使用s2.getRange("A2:A28")时,需要在删除行号上加上偏移量。

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

    修改后的脚本:

    从:
    for (var i = 28; i > 0; i--)
      if (v1[i] = v2)
        s2.deleteRow(i + 1);
    
    至:
    for (var i = v2.length - 1; i >= 0; i--)
      if (v2[i][0] == v1)
        s2.deleteRow(i + 2);
    
    • v2.length 用于获取数组长度。

    参考资料:

    【讨论】:

    • 哇,它确实有效。谢谢。如果我可以添加:如果我想比较整个范围 C4:C10,而不仅仅是单元格 C4,我该如何修改脚本?如果是匹配删除该行。还是需要特别为每个单元格复制整个脚本?
    • @Bogdan Moineagu 感谢您的回复。我很高兴你的问题得到了解决。我愿意支持你。但是您的评论问题是新问题,这与您的问题不同。那么您可以通过包含详细信息将其作为新问题发布吗?因为当您的初始问题被评论更改时,看到您的问题的其他用户会感到困惑。通过将其发布为新问题,包括我在内的用户可以想到您的新问题。当时,please close this question。如果您能合作解决您的新问题,我很高兴。
    • @Bogdan Moineagu 感谢您的回复。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 2021-09-15
    • 2020-03-09
    相关资源
    最近更新 更多