2017-02-14 41 views
0

我想比較兩個不同電子表格中的兩個不同列。 我的第一個電子表格被命名爲「testtabelle」,另一個名爲「測試」紙張的名稱都是「Tabellenblatt1」 我想列一個比較@testtabelle列A @測試。 如果字符串相同,我需要colum B @測試中的值,並將其複製到同一行的列b @testtabelle,其中我的字符串匹配。 我想我需要兩個循環爲每個列和if語句來比較值。比較谷歌腳本中不同電子表格中的兩個柱子

如果有人能幫助我,我會很高興!

+1

請僅包含與問題「真正相關」的標籤,並且還要添加對目前所做搜索/研究的簡要說明。欲瞭解更多詳情結帳[問]。 –

+2

在我看來,您不需要代碼就可以對GoogleSheets中的importRange和vlookup函數執行相同的操作。 –

回答

0

您可以使用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

相關問題