比较谷歌脚本中不同电子表格中的两个柱子
问题描述:
我想比较两个不同电子表格中的两个不同列。 我的第一个电子表格被命名为“testtabelle”,另一个名为“测试”纸张的名称都是“Tabellenblatt1” 我想列一个比较@testtabelle列A @测试。 如果字符串相同,我需要colum B @测试中的值,并将其复制到同一行的列b @testtabelle,其中我的字符串匹配。 我想我需要两个循环为每个列和if语句来比较值。比较谷歌脚本中不同电子表格中的两个柱子
如果有人能帮助我,我会很高兴!
答
您可以使用SpreadsheetApp
类打开多个工作表。查看openById
或openByUrl
,要么应该工作。然后,您可以制作两个电子表格对象,获取每个对象的列A和B的值,迭代进行比较,如果列A的值匹配,则复制列B的值。
有一点需要注意的是,您应该使用getValue
和setValue
而不是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。
请仅包含与问题“真正相关”的标签,并且还要添加对目前所做搜索/研究的简要说明。欲了解更多详情结帐[问]。 –
在我看来,您不需要代码就可以对GoogleSheets中的importRange和vlookup函数执行相同的操作。 –