让我们假设colA包含雇员的姓名。 ColB包含一个'clocked in'值或一个空值“”(如果它们不起作用)。
如何遍历colB查找空单元格,然后将colA中的相应名称附加到列表(或数组?)上?
最后,我想返回此列表并将其显示在屏幕上(或将其提供给另一个脚本)。
这是一个示例说明,但是脚本将在我的实际数据中处理相同的前提。
我的第一次尝试导致了这一小问题(至少,这是个主意,但这是行不通的,仍然是一个新手):
function getAbsEmployees() {
var absent = [];
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('clocking in');
var status = sheet.getRange(112, 2, 10, 1).getValues(); //colB
Logger.log(status) //no problem up until now
for (var i = 0; i < status.length; i++) {
if (status[i][1] === "") {
absent.push(status[i][0]); //corresponding value from colA is added to list
}
}
return( absent );
SpreadsheetApp.getUi().alert(absent); //Logger.log does the same here, obviously
}
答案 0 :(得分:1)
作为自定义函数,将此= getAbsEmployees()放置在员工姓名范围之外的任何单元格中。
自定义函数如下所示。
function getAbsEmployees() {
var absent = [];
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('clocking in');
var names = sheet.getRange(1,1,12,2).getValues();
for (var i = 0; i < names.length; i++) {
if( names[i][1] === "" ) absent.push(names[i][0]);
}
return( absent );
}