我想比较两个不同电子表格中的两个不同列。 我的第一个电子表格名为" testtabelle "另一个名为" test "表格的名称都是" Tabellenblatt1" 我想将A @ testtabelle 列与A列 test 进行比较。 如果字符串相等,我需要colum B @ test 中的值并将其复制到同一行的列b @ testtabelle 中,我的字符串匹配。 我想我需要为每一列提供两个循环,并使用if语句来比较这些值。
如果有人可以帮助我,我会很高兴的!
答案 0 :(得分:0)
您可以使用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。