首页 > 解决方案 > Google 脚本编辑器 - 清除单元格(带有公式的除外)

问题描述

我是新手。我需要帮助来清除谷歌电子表格的单元格。

但是,我要清除的单元格是仅包含数字的单元格。换句话说,带有字符串和公式的单元格在运行宏后将保持不透明状态。这样我就不需要在清除整个工作表后再次将这些公式输入到单元格中。

谁能帮我解决这个问题?

我试过这个:但它清除了所有不是我想要的内容。

function myFunction() {
  var sheet = SpreadsheetApp.getActive();
  sheet.getRange('A1:S1500').clearContent();
}

而我不想指定那些没有公式要清除的单元格的原因是它不是简化代码的理想方法,因为我需要列出所有没有公式的单元格来清除。此外,如果单元格中的公式有任何更改(例如,A10(带公式)现在变为 A11),我需要进入脚本编辑器并再次编辑单元格引用,将其更改为清除单元格 A10 而不是单元格 A11。

因此,我在想是否有办法解决它?

谢谢你。

标签: google-apps-scriptgoogle-sheetsgoogle-apps-script-editor

解决方案


尝试这个:

function myFunction() {
  var sheet = SpreadsheetApp.getActive();
  sheet.getRange('A1:S1500').clearContent();
  var fA=sheet.getRange('A1:S1500').getFormulas();
  var vA=sheet.getRange('A1:S1500').getValues();
  vA.forEach(function(r,i){
    r.forEach(function(c,j){
      //if no formula and a number
      if(!fA[i][j] && !isNaN(c)) {
        sheet.getRange(i+1,j+1).setValue('');
      }
    });
  }); 
}

是南()


推荐阅读