从单元格中获取数据并在谷歌表格中填充新行
问题描述:
我是一个带脚本的总noob。从单元格中获取数据并在谷歌表格中填充新行
想法是从一张纸的行中获取数据,然后每天填充第二张纸的行。
我有两张电子表格。
1.列1中的文本的父列表和列2中的数字。 2.要填充的目标工作表。
从我明白我必须这样做
- 确认母片
- 识别目标板
- 父表要充分利用数据的行设置一个变量(R)
- 找到关于行R中的父片的第1列的数据
- 找到关于行R中的父片的2列中的日期
- 转到到目标片第一个空行
- 从父片的第1列的目标片材数据的填充塔1
- 重复列2
- 更新R到R + 1,以便当所述功能被触发的第二天,它会从下一行获取数据。
我认为这是有道理的,但没有得到如何编码的线索。
愿意帮助别人!
答
我试图做1 - 5步,但坚持一个方面。
每一天我都希望脚本转到父表单的下一行。
我试图建立对这个变种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;
}
答
尼斯我设法研究如何做到这一切。
我将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]);
}