【发布时间】:2014-07-16 14:53:10
【问题描述】:
我在 Google 电子表格中工作,我想创建一个按钮,激活后将重置一系列单元格中的数据,但保留分配给这些单元格的所有数学函数。
我已经尝试了基本的 clearContent();脚本,但我发现这会删除单元格中的所有数据(文本和函数)。
有没有办法在清除文本的同时保留功能?
【问题讨论】:
标签: google-apps-script google-sheets google-docs reset
我在 Google 电子表格中工作,我想创建一个按钮,激活后将重置一系列单元格中的数据,但保留分配给这些单元格的所有数学函数。
我已经尝试了基本的 clearContent();脚本,但我发现这会删除单元格中的所有数据(文本和函数)。
有没有办法在清除文本的同时保留功能?
【问题讨论】:
标签: google-apps-script google-sheets google-docs reset
想要从单元格中删除数据并保留公式是有充分理由的。我已经创建了完成我的校长想要的计算任务的工作表。所需的结构我一次制作一周的工作簿页面。如果我复制下周的工作表,然后删除数据,我已经为下周做好了准备。当我输入数据时,公式用于计算新的计算。 Excel 有一个清除按钮,可以完成此操作。选择单元格以删除数据并在离开公式时将其删除。
【讨论】:
没有功能可以满足您的要求 - 并且有充分的理由。
存在用于计算单元格或单元格区域的值的电子表格公式。
如果您清除当前单元格中的值,但保留公式,则该值将被重新计算...并且您将再次显示一个值。
因此,如果您希望清除单元格的值,也希望清除它的公式,那么Range.clearContent() 两者都可以。
如果你真的、真的、真的想这样做,那么它是一个三行(没有错误检查)。
function clearValues(range) {
var formulas = range.getFormulas();
range.clearContent();
range.setFormulas(formulas);
}
【讨论】:
我知道这是一篇旧帖子;对于其他想要使用 Google Apps 脚本在您的电子表格中删除一系列数据但又想要保留您的公式的人,请尝试以下操作。
var sheet = SpreadsheetApp.getActive().getSheetByName('YourSheetName');
sheet.getRange('G2:G1000').clear({commentsOnly: true});
用例... 我的菜单清除两列数据(A 和 G)。 在某些情况下,“A”列包含用户输入的“X”。 “G”列有一个在行/列“A”中查找值的公式 如果单元格更改为包含“X”,则该公式将当前日期插入行/列“G”中。
【讨论】: