我有包含主要数据的工作表,以及包含人名的工作Transactions表(活动),并将根据主要数据计算的指标输入其中。第一步是使用基于不同列的另一个条件检索该人( 中的单元格)的数据。ReportTransactionB6Reportvar report = SpreadsheetApp.getActiveSpreadsheet();var trsheet = report.getSheetByName("Transactions");var areport = SpreadsheetApp.getActiveSheet();var agent = areport.getRange('B6').getValue();var trdata = trsheet.getDataRange().getValues();var tdata = trdata.filter(function (row) { return row[29] == agent && row[5] == 'Closed' ; }); 这不会产生任何错误,但会产生一个空数组tdata。如何正确地将第二个条件添加到过滤函数中?
1 回答
慕慕森
TA贡献1856条经验 获得超17个赞
代码看起来不错。由于以下两个原因,它可能无法正常工作:
1.您可能正在比较不同的数据类型。例如,代理在工作表中可能是一种字符串,Transactions在您的活动工作表中可能是整数。
尝试改用getDisplayValues()是个好主意:
var report = SpreadsheetApp.getActiveSpreadsheet();
var trsheet = report.getSheetByName("Transactions");
var areport = SpreadsheetApp.getActiveSheet();
var agent = areport.getRange('B6').getDisplayValue();
var trdata = trsheet.getDataRange().getDisplayValues();
var tdata = trdata.filter(function (row) {
return row[29] === agent && row[5] === 'Closed' ;
});
2.还要确保在工作表交易中:
F 列
row[5]
包含您要查找的关键字:'Closed'
,AD 列
row[29]
包含您要查找的变量的值:var agent
。
添加回答
举报
0/150
提交
取消