簡體   English   中英

將Google表單響應行復制到新工作表中

[英]copy google form response rows into new sheet

任何幫助是極大的贊賞。

如果行5中的單元格大於0,我試圖獲取表單響應以移至另一張工作表。我在下面使用的代碼將其移至上方,但將其添加到具有公式的最后一個單元格下。 是否有此代碼的修改版本,我可以告訴它忽略單元格中的公式。 也只能復制A:E行。 謝謝

    function moveToAppropriateSheet(e) {
  // assumes source data in sheet named Form Responses 1
  // target sheet of move to named TR Requested
  // test column with yes/no is col 11 or K
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = ss.getSheetByName('Query');
  var r = s.getRange(s.getLastRow(),1,1,20);
  var data = r.getValues();

  if(data[0][4] >0) {
    var row = r.getRow();
    var numColumns = s.getLastColumn();
    var targetSheet = ss.getSheetByName("Pending");
    var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
    targetSheet.getRange(targetSheet.getLastRow()+1,1,1,20).setValues(data);
    s.deleteRow(row);
  }
};

根據新信息進行編輯:

  1. 您只想將在“查詢”中復制的行的前5列復制到工作表“待處理”。

  2. 您已經在“待定”中的F,G,H列中添加了條目...您希望將復制的行添加到A:E列中的最后一個條目下

  3. 為了簡單起見,我還假設您始終復制5列,因此我只能檢查A列以找到最后一行(在子集A:E中)。

  4. 我還注意到,這基本上是Mogsdad的回答的重復。

如果我的假設正確,則:

  function moveToAppropriateSheet(e) {
  // assumes source data in sheet named Form Responses 1
  // target sheet of move to named TR Requested
  // test column with yes/no is col 11 or K
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = ss.getSheetByName('Query');
  var r = s.getRange(s.getLastRow(),1,1,5);   // Change 20 to 5 to copy only cols A:E
  var data = r.getValues();


  var targetSheet = ss.getSheetByName("Pending");
  var lastRowIgnoringFormulae = 0;

  var targetSpace = targetSheet.getRange("A:A").getValues();
  var lastRow = targetSpace.filter(String).length;

  if(data[0][4] >0) {
    var row = r.getRow();
    var numColumns = s.getLastColumn();
    targetSheet.getRange(lastRow+1,1,1,5).setValues(data); // +1 to convert into R1C1 notation
    s.deleteRow(row);
  }
};

希望能對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM