2017-09-13 135 views
1

我正嘗試使用Google Apps腳本在兩個Google電子表格之間移動數據。Google Apps腳本:在電子表格之間移動數據

名爲Ex_ID的電子表格每個員工都有一張表和一行,每行有六個重要值,包括一個id號和五個數據值。

名爲CR_ID的電子表格爲每個員工都有一張不同的表,每張表都有一個ID號和五個單元,我需要輸入數據。

我正在嘗試編寫一個腳本,將數據值從Ex_ID移動到ID值匹配的CR_ID。 (注:由於我還在想看看代碼是如何工作的,我限制了例如五個數據值中的一個,我只對三名員工測試它。)

function myFunction() { 
    var CR_ID = "1BbAmoSsS_2-nvOxv_l5gZ8ftXclD5muWs0ZAmkDUR-Y"; 
    var ssCR = SpreadsheetApp.openById(CR_ID); 
    var sCR = ssCR.getSheets(); 
    var Ex_ID = "1lkpXdWdbfe8Wkj1RGQOb-pWjEQe41hstKj2i4TxMQd8"; 
    var ssEx = SpreadsheetApp.openById(Ex_ID); 
    var sEx = ssEx.getSheetByName('Sheet1'); 
    for (var i = 2; i = 4; i++) { 
    //Get id value from Ex_ID 
    var ExCell = sEx.getRange(i, 2).getValue(); 
    for (var j = 0; j = 2; j++) { 
     var sheet = sCR[j]; 
     //Get id value from CR_ID 
     var val = sheet.getRange(1, 7).getValue(); 
     if (ExCell[i] == val[j]) { 
     var ExWrite = sEx.getRange(i, 11).getValue(); 
     sheet.getRange(3, 20).setValue(ExWrite); 
     }  
    } 
    } 
} 

最佳,

梅恩德拉

回答

1

我不知道你的數據是如何組織的,並要它們放在表,但我會嘗試這樣的事:

function myFunction() 
{ 
    var ess = SpreadsheetApp.openById("1BbAmoSsS_2-nvOxv_l5gZ8ftXclD5muWs0ZAmkDUR-Y"); 
    var es = ess.getSheets(); 

    var dss = SpreadsheetApp.openById("1lkpXdWdbfe8Wkj1RGQOb-pWjEQe41hstKj2i4TxMQd8"); 
    var ds = dss.getSheetByName('Sheet1'); 
    var dr = ds.getDataRange(); 
    var dA = dr.getValues(); 
    for(var i=1;i<dA.length;i++)//started with 1 assuming that you have a header. 
    { 
     var row=dA[i];//loop through rows of employee data I will assume data to be in this ID,DataValue1,DataValue2,DataValue3,DataValue4,DataValue5 
     for(var j=0;j<es.length;j++) 
     { 
     if(row[0]==es[j].getSheetName())//checking the ID value assuming it is row[0]; 
     { 
      var sht=es[j]; 
      sht.getRange('D1').setValue(row[1]);//DataValue1 
      sht.getRange('D2').setValue(row[2]);//DataValue2 
      etc... 
     } 

     } 
    } 

} 
+0

謝謝!爲了使它工作,我不得不修改我的數據一點點。最初我在ess中使用了員工姓名作爲工作表名稱,然後我將這些id存儲在工作表內(在單元格G1中)。我修改了數據,以便dss在我用來存儲id的地方有員工姓名。由於表不能有相同的名稱,我應該罰款。謝謝! –

相關問題