我正在尝试比较2张纸中的列中的值,但是它不起作用。我对此并不陌生,我认为这是if语句,因为我尝试记录任何可能的变量,并且一切正常。
function combineemail() {
var source = SpreadsheetApp.getActive();
var source_sheet = source.getSheetByName("Export1");
var source2_sheet = source.getSheetByName("Sheet1");
var target_sheet = source.getSheetByName("Merge1");
var numRows = source_sheet.getLastRow() - 1;
var source_range = source_sheet.getRange(2, 5, numRows, 1).getValues();
var numRows2 = source2_sheet.getLastRow() - 1;
var source2_range = source2_sheet.getRange(2, 2, numRows2, 1).getValues();
var c = "Merge"
for (var i = 0; i < numRows; i++){
for (var j = 0; j < numRows2; j++){
if (source_range[i] == source2_range[j]) {
Logger.log(source2_range[j]);
};
};
};
};
答案 0 :(得分:0)
getValues()
为source_range
和source2_range
分配一个多维数组(二维数组)。当您执行source_range[i] == source2_range[j]
时,您正在比较两个数组,但是在JavaScript上,这很复杂。
如果要比较两个单列范围的单元格值,则应使用
source_range[i][0] == source2_range[j][0]
请记住,JavaScript索引基于0
,而SpreadsheetApp行/列索引基于1
。
参考