您可以使用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函數執行相同的操作。 –