比较谷歌脚本中不同电子表格中的两个柱子

问题描述:

我想比较两个不同电子表格中的两个不同列。 我的第一个电子表格被命名为“testtabelle”,另一个名为“测试”纸张的名称都是“Tabellenblatt1” 我想列一个比较@testtabelle列A @测试。 如果字符串相同,我需要colum B @测试中的值,并将其复制到同一行的列b @testtabelle,其中我的字符串匹配。 我想我需要两个循环为每个列和if语句来比较值。比较谷歌脚本中不同电子表格中的两个柱子

如果有人能帮助我,我会很高兴!

+1

请仅包含与问题“真正相关”的标签,并且还要添加对目前所做搜索/研究的简要说明。欲了解更多详情结帐[问]。 –

+2

在我看来,您不需要代码就可以对GoogleSheets中的importRange和vlookup函数执行相同的操作。 –

您可以使用SpreadsheetApp类打开多个工作表。查看openByIdopenByUrl,要么应该工作。然后,您可以制作两个电子表格对象,获取每个对象的列A和B的值,迭代进行比较,如果列A的值匹配,则复制列B的值。

有一点需要注意的是,您应该使用getValuesetValue而不是copyTo,因为我不认为后者可以跨单独的电子表格工作。

您应该结束了,像这样:

// gets spreadsheet A and the range of data 
 
ssA = SpreadsheetApp.openById('ID of spreadsheet A'); 
 
sheetA = ssA.getSheetByName('name of sheet in ssA'); 
 
dataA = sheetA.getRange('A:B').getValues(); 
 
// gets spreadsheet B and the range of data 
 
ssB = SpreadsheetApp.openById('ID of spreadsheet B'); 
 
sheetB = ssB.getSheetByName('name of sheet in ssB'); 
 
dataB = sheetB.getRange('A:B').getValues(); 
 

 
// loops through column A of spreadsheet A & B and compares 
 
for(var i = 0; i > sheetA.getLastRow(); i++){ 
 
    // checks to see if ith value in 2nd row is the same 
 
    if dataA[1][i] == dataB[1][i]{ 
 
    var value = sheetA.getRange(i+1, 2).getValue(); 
 
    // used i+1 because index of range is 1, while index of the data array is 0 
 
    sheetB.getRange(i+1, 2).setValue(value); 
 
    } // end if 
 
} // end i

也有一个类似的问题回答here