我有一个大致如下所示的数据数组:
header row | header row | header row | header row project | date | LastName, FName | hours project | date | LastName, FName | hours project | date | LastName, FName | hours header row | header row | header row | header row project | date | LastName, FName | hours project | date | LastName, FName | hours project | date | LastName, FName | hours
我想从数组中删除标题行。我以为我ArrayLib.filterByDate
会这样做,认为在我的时间范围内不包含有效日期的任何行都会被删除。
这是我尝试过的代码:
function removeHeaders(projectRange){
var tmpProjectRange = [];
tmpProjectRange = ArrayLib.filterByDate(projectRange, 1, new Date(2013-01-01), new Date(2015-01-01))
return tmpProjectRange;
}
我收到一个错误:“所选列应仅包含日期”。所以这种方法似乎不是一种选择。
现在,我正在尝试ArrayLib.filterByText
将第 2 列与一组有效数据进行比较:
function removeHeaders(projectRange){
var tmpEmployeeRange = [];
var tmpEmployeeList = [];
var ss = SpreadsheetApp.getActiveSpreadsheet();
var shtEmp = ss.getSheetByName("Employees");
var empLastRow = shtEmp.getLastRow();
var strRange = "A2:A" + empLastRow;
//should contain a list of all the employees:
tmpEmployeeList = shtEmp.getRange(strRange).getValues();
tmpEmployeeRange = ArrayLib.filterByText(projectRange, 2, tmpEmployeeList);
return tmpEmployeeRange;
}
但由于某种原因,这也不起作用。唯一返回的tmpEmployeeRange
行是名称没有逗号的行(这些行有 TBD 而不是姓氏,名字。)所以我不太确定那里发生了什么,但我认为必须有一种更简单的方法来做到这一点。我想我可以遍历整个事情并去掉我不想要的行。还有其他想法吗?