2016-08-25 8 views
1

私が行を反復処理し、そのような特定のセルの値を取得する:スクリプトを使用して別のスプレッドシートにデータを追加します。

for (var i = 2; i < lastRow; i++) { 
    if (sheet.getRange(i, getColIndexByName("Department Concerned")).getValue() == "HR") { 
     // Do some stuff 
    } 
    } 

私はそうのような別のシートにデータをコピーします。私は必要なもの

// select the Spreadsheets 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var target = SpreadsheetApp.openById("Spreadsheet ID"); 

    // select the Sheets from the Spreadsheets 
    var source_sheet = ss.getSheetByName("Logs"); 
    var target_sheet = target.getSheetByName("Sheet3"); 

    // select the range from the Sheets 
    var source_range = source_sheet.getRange("A2:J500"); 
    var target_range = target_sheet.getRange("A2:J500"); 

    // get the values from the source sheet 
    var values = source_range.getValues(); 

    // set the values to the destination sheet 
    target_range.setValues(values); 

は、そのデータをコピーすることで、 "for loop"で取り込んだセルの値に応じて、他のスプレッドシートの同じ範囲に追加してください。 ありがとうございます。

+0

ここで何がお手伝いできますか?表示されている2つのコードは、動作するように見せかけるだけで、他のコードには含まれています。あなたがここで書きませんでしたか? – Harold

答えて

2

あなたは正しいと思いますが、より良いアプローチを見つける必要があります。私は、これらのシナリオを組み合わせたソースシートから値を選択

  • 各列をチェックする、カラムDepartment Concerned"HR"の値
  • 条件
  • 上方満たす
  • 選択行が対象シートに
  • それを貼り付け

    • このように、

      function myFunction() 
      { 
      // select the Spreadsheets 
      var ss = SpreadsheetApp.getActiveSpreadsheet(); 
      var target = SpreadsheetApp.openById("Spreadsheet ID"); 
      
      // select the Sheets from the Spreadsheets 
      var source_sheet = ss.getSheetByName("Logs"); 
      var target_sheet = target.getSheetByName("Sheet3"); 
      
      // select the range from the Sheets 
      var source_range = source_sheet.getRange("A2:J500"); 
      
      // get the values from the source sheet 
      var values = source_range.getValues(); 
      
      // an array for selected rows 
      var selectedRows = []; 
      
      for(var row in values) 
      { 
          // thinking 5th column is Department Concerned 
          if(values[row][4] =='HR') 
          { 
          //add add entire row to selected 2d array 
          selectedRows.push(values[row]); 
          } 
      } 
      // set the values to the destination sheet 
      target_sheet.getRange(2, 1, selectedRows.length,10).setValues(selectedRows); 
      } 
      
    関連する問題