【问题标题】:Google sheets script for hiding or deleting cell if it is empty?如果单元格为空,则用于隐藏或删除单元格的 Google 表格脚本?
【发布时间】:2020-10-26 14:09:07
【问题描述】:

我是新手,所以请耐心等待。我目前有一个谷歌表,其中有不同单元格中的公式。如果它们是空白的,我希望能够隐藏空单元格。有没有办法我可以做到这一点?例如,我希望能够删除 B11 和 B20 之间的所有空单元格。

这是我在网上找到的,但它并没有达到我想要的效果:

 function adder() {
     var sheet = SpreadsheetApp.getActive().getSheetByName('NY Quote');
     var lastRow = sheet.getLastRow(); 
     for (var i = 1; i < lastRow+1; i++) {

         //var valueB = sheet.getRange('B'+(lastRow-i+1)).getValue() + "";
         if((sheet.getRange('B'+(lastRow-i+1)).getValue())=="") {
             sheet.getRange('B'+(lastRowi+1)).deleteCells(SpreadsheetApp.Dimension.ROWS);
         }
     }
 }  

附:如果合并单元格,脚本会起作用吗?

谢谢!

【问题讨论】:

    标签: google-apps-script google-sheets google-sheets-formula google-sheets-api


    【解决方案1】:

    示例中的脚本从 i = 1 循环到 i &lt; lastRow+1 - 即从第一行到最后一行。

    如果您希望脚本从第 11 行循环到第 20 行 - 将循环条件更改为:

    for (var i = 11; i &lt; 21; i++)

    【讨论】:

    • 嗨!还有一件事。如果我在 B11:D11 之间不一样怎么办?我试图这样写,但它使所有单元格都为空白: if((sheet.getRange('B'+'C'+'D'+(lastRow-i+1)).getValue())=="" ) { sheet.getRange('B'+'C'+'D'+(lastRow-i+1)).deleteCells(SpreadsheetApp.Dimension.ROWS); }
    • 如果B11:D11 之间的任何单元格为空白 - 您要删除特定单元格还是整行?
    • 如果 B11:D11 之间的任何单元格为空白 - 我想删除整行
    • 在这种情况下,您需要创建一个嵌套循环,不仅可以遍历行,还可以遍历列。看看例如this样例,希望对理解有帮助!
    • 我尝试创建嵌套循环,但不幸的是,我仍然得到相同的结果。你帮了大忙。我会继续努力
    猜你喜欢
    • 2022-11-24
    • 2012-01-10
    • 2022-01-16
    • 2015-12-08
    • 1970-01-01
    • 2014-09-06
    • 2012-02-18
    • 2019-06-18
    • 1970-01-01
    相关资源
    最近更新 更多