gpt4 book ai didi

google-apps-script - 比较谷歌电子表格上的行

转载 作者:行者123 更新时间:2023-12-04 16:37:44 24 4
gpt4 key购买 nike

我想在同一个电子表格上的两个不同工作表中识别相等的行。我试过下面的代码,它不起作用。

function getMyEqualRows()
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = ss.getSheets()[0];
var sheet2 = ss.getSheets()[1];

var sheetOneValues = sheet1.getRange('A1:G20').getValues();
var sheetTwoValues = sheet2.getRange('A1:G20').getValues();
var equalRows = [];

for (var i = 0; i <= sheetOneValues.length; i++) {
for(var j = 0; j <= sheetTwoValues.length; j++){
if(sheetOneValues[i] == sheetTwoValues[j]) {
equalRows.push(sheetOneValues[i]);
}
}
return equalRows;
}
}

最佳答案

你不能比较两个 arrays== 相等.相反,您可以使用 .join()方法。它将这些数组中的所有元素连接成一个字符串。此检查字符串数组是否相等。我不确定这是否是最好的方法。

function getMyEqualRows()
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = ss.getSheets()[0];
var sheet2 = ss.getSheets()[1];

var sheetOneValues = sheet1.getRange('A1:G20').getValues();
var sheetTwoValues = sheet2.getRange('A1:G20').getValues();

var equalRows = [];

for(var i in sheetOneValues)
{
var anEqualRow = false;
for(var j in sheetTwoValues)
{
if(sheetOneValues[i].join() == sheetTwoValues[j].join()){
anEqualRow = true;
}
}
if(anEqualRow){
equalRows.push(sheetOneValues[i]);
}
}
return equalRows;
}

希望这会奏效!

关于google-apps-script - 比较谷歌电子表格上的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34960327/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com