驱动程序“1”的代码汇总数据,对于驱动程序“2”代码继续汇总数据(1个驱动程序的数据+ 2个驱动程序的数据),但我需要为每个驱动程序提供不同的结果。有什么问题?
谢谢您的时间!
function driverBort() {
var srs = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('List1');
var col = srs.getRange('C:M').getValues();
var data = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('IDs');
var main = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Table');
var type = data.getRange('A38').getValue();
var tax = data.getRange('D38').getValue();
var drivers = main.getRange('A2:B10').getValues();
var sum = 0;
for (var n = 0; n < col.length; n++) {
for (var i = 0; i < drivers.length; i++) {
if (col[n][0] == drivers[i][0]) {
if (col[n][10] == type) {
sum += col[n][7] * tax
main.getRange(i+2,2).setValue(sum)
}
}
}
}
}
答案 0 :(得分:3)
我没有尝试过您的代码,但我认为问题在于您使用.getValues
来获取单个单元格值,因此它返回了一个3D数组。然后,您尝试使用此行col[n][10] == type)
将奇异值与数组进行比较。尝试将您的类型和纳税申报行更改为:
var type = data.getRange('A38').getValue();
var tax = data.getRange('D38').getValue();
注意:getValue
没有s
。