google-apps-script - Google 脚本编辑器 - 清除单元格(带有公式的除外)
问题描述
我是新手。我需要帮助来清除谷歌电子表格的单元格。
但是,我要清除的单元格是仅包含数字的单元格。换句话说,带有字符串和公式的单元格在运行宏后将保持不透明状态。这样我就不需要在清除整个工作表后再次将这些公式输入到单元格中。
谁能帮我解决这个问题?
我试过这个:但它清除了所有不是我想要的内容。
function myFunction() {
var sheet = SpreadsheetApp.getActive();
sheet.getRange('A1:S1500').clearContent();
}
而我不想指定那些没有公式要清除的单元格的原因是它不是简化代码的理想方法,因为我需要列出所有没有公式的单元格来清除。此外,如果单元格中的公式有任何更改(例如,A10(带公式)现在变为 A11),我需要进入脚本编辑器并再次编辑单元格引用,将其更改为清除单元格 A10 而不是单元格 A11。
因此,我在想是否有办法解决它?
谢谢你。
解决方案
尝试这个:
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('');
}
});
});
}
推荐阅读
- android - 由于静态引用 Android 中的内部类导致的内存泄漏
- python - 如何从源文件(.tgz)在 Ubuntu virtualenv 中安装 python 3.8
- python - 为什么双反斜杠在python字典中不起作用
- c# - 如何在 C# 中为 ExpandoObject 模拟 GetType().GetProperties() 和 PropertyInfo.GetValue()
- javascript - REACT - 如何将函数传递给 axios api 调用
- gcc - GCC:带有返回值的赋值块使宏更容易?
- php - SQLite SQLSTATE[HY000]:一般错误:8 次尝试写入只读数据库
- google-sheets-importxml - 如何使用 IMPORTXML 导出 img alt
- macos - 无法在 iPhone 模拟器上运行 Flutter 项目:处理命令时遇到错误(域 = FBSOpenApplicationServiceErrorDomain,代码 = 5)
- php - 如果用户直接尝试注销路由,我如何重定向到登录