我正在尝试编写一个自定义函数,当比较两个数组时,该函数将返回所有唯一值的数组。这是我所拥有的,它不起作用:
function getUniqueCells(range1, range2) {
var sheet = SpreadsheetApp.getActiveSheet();
var range1 = sheet.getRange(range1);
var range2 = sheet.getRange(range2);
var range1Val = range1.getValues();
var range2Val = range2.getValues();
var uniquesArr = [];
for (var i = 0; i <= range1Val.length; i++) {
for(var u = 0; u <= range2Val.length; i++){
if(range1Val[i] === range2Val[u]) {
break;
} else if((u + 1) === range2Val.length){
uniquesArr.push(range1Val[i]);
};
};
};
return uniquesArr;
}
有没有办法不出现"执行自定义函数的内部错误"错误?
第二个
for 循环存在问题。
for(var u = 0; u <= range2Val.length;i++){
它应该是 for(var u = 0; u <= range2Val.length;u++){
您无法通过range1Val[i] === range2Val[u]
进行检查。因为它们是数组。
我有同样的问题。 在这里找到答案:
比较 Google 电子表格中的行