我正在使用Google Spreadsheets:
我有一个电子表格,基本上是一个4周的计划。每天分为几个插槽,可分配给我们的任何活动客户。这些单元格具有拒绝无效值的验证规则。
验证规则允许的数据来自单独工作表上的列表,当客户端的状态从“活动”更改为“已取消”时会筛选出客户端,这意味着无法再分配客户端。状态会手动更改。分配的客户端更改为“已取消”后,它将成为日历上的无效客户端。
是否有办法使用脚本查找并清除包含这些无效值的单元格的值?我在下面包含了一个屏幕剪辑。红色角是无效值。
我已经设置了onEdit
触发器来运行代码,这将调用一个函数来处理这个特定的区域。
任何帮助将不胜感激。
答案 0 :(得分:0)
代码看起来像这样:
function onEdit(e) {
//First check if you want the entire code to execute
if (myNeededCondtion !=== "theValueToMach") {
//End the code here
return;
}
var mySpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var theSheet = mySpreadsheet.getSheetByName("name of sheet");
var arrayOfColumnValues = theSheet.getRange(row to start at, column to start at, numRows, numColumns).getValues();
var i=0;
var thisValue = "";
for (i=0;i<arrayOfColumnValues.length;i+=1) {
thisValue = arrayOfColumnValues[i][0];
if (thisValue==="Cancelled") {
//Set the cell value to a blank string
theSheet.getRange(i, column).setValue("");
};
};
};
您需要弄清楚范围值参数需要什么,并编辑代码。将正确的工作表名称添加到getSheetByName
方法。请注意getValues()
返回二维数组。每个内部数组代表一行。如果只获得一列数据,那么每个内部数组中只有一个元素。数组从零开始编制索引。