从连续的单元格中获取数据并在Google工作表中填充新行

时间:2017-09-08 10:22:20

标签: scripting google-sheets

我是一个带脚本的总菜鸟。

我们的想法是从一张纸的行中获取数据,然后每天填充第二张纸的行。

我有两张电子表格  1.第1列中的父文本列表和第2列中的数字。  2.要填充的目标表。

根据我的理解,我必须这样做

  1. 识别父表
  2. 识别目标表
  3. 为父工作表的行设置变量(R)以从
  4. 获取数据
  5. 在行R
  6. 上找到父表的第1列中的数据
  7. 在行R
  8. 上的父表的第2列中找到日期
  9. 转到目标表单中的第一个空行
  10. 使用父工作表的第1列中的数据填充目标工作表的第1列
  11. 重复第2栏
  12. 将R更新为R + 1,因此当第二天触发该功能时,它会从下一行获取数据。
  13. 我认为这是有道理的,但是我们不知道如何编码。

    会在那里帮助别人的帮助!

2 个答案:

答案 0 :(得分:0)

我做了1到5步骤,但坚持一个方面。

每天我都希望脚本转到父表的下一行。

我试图为此设置一个var currentRow,但是当我把它放入或放出函数时,它总是回到1.

var currentRow = 1;

function myFunction() {
  // create a variable to know what row to get the data from in the parent list
  
  Logger.log(currentRow);
  
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var parent = ss.getSheetByName("parent");
  var range = parent.getDataRange(),
      values = range.getValues();
  
  var row = values[currentRow],
      text = row[0],
      video = row[1];

   Logger.log(text);
   Logger.log(video);
  
  currentRow = currentRow + 1;
}

答案 1 :(得分:0)

很好,我设法弄清楚如何做到这一切。

我更改了currentRow,而不是找出目标表中最后一行的数字。

然后脚本将其添加1并从父表的下一行获取数据。

这东西很有趣!

function myFunction() {
  // create a variable to know what row to get the data from in the parent list
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var parent = ss.getSheetByName("parent");
  var range = parent.getDataRange(),
      values = range.getValues(),
      lastRow = parent.getLastRow();
  
  //get the position of the last row in the populate sheet
  var populate = ss.getSheetByName("populate"),
      range = parent.getDataRange(),
      lastPopulateRow = populate.getLastRow();
  
  var row = values[lastPopulateRow + 1],
      text = row[0],
      video = row[1];

   Logger.log(text);
   Logger.log(video);
   Logger.log(lastRow);
   Logger.log(lastPopulateRow);
  
  
  //append to the populate sheet
  populate.appendRow([text, video]);

}