i want to compare tow different columns in two different spreadsheets.
My first spreadsheet is named "testtabelle" and the other is named "test" the name of the sheets are both "Tabellenblatt1"
I want to compare column A @ testtabelle with column A @ test.
If the string are equal, i need the value from colum B @ test and copy it into column b @ testtabelle of the same row, where my strings matched.
I think i need two loops for every column and a if statement to compare the values.
I'll be glad if someone can help me!
You can use the SpreadsheetApp
class to open multiple sheets. Look up openById
or openByUrl
, either should work. You can then make two spreadsheet objects, get the values of column A and B of each, iterate through to compare, and copy the value of column B if the values of column A match.
One thing to note is you should use getValue
and setValue
rather than copyTo
as I don't think the latter works across separate spreadsheets.
You should end up with something like this:
// 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
There's also a similar question answered here.