我有一个链接到表单的电子表格。默认情况下,表单提交会附加到电子表格的底部。我想要它,所以最新的提交将出现在顶部,因此我创建了另一个电子表格并使用公式=SORT('Form Responses'!A1:F, 1, 0)
按降序复制响应。这非常有效。
现在我想要的是在排序电子表格上有另一列,以便为表单响应添加注释。问题是,当我提交另一个表单响应时,我所做的任何评论都不会向下移动。每当提交另一个表单响应时,我想在comments列中添加另一行。我该怎么做?
**编辑:我实施了如下所示的解决方案。我最终摆脱了第二个电子表格和= SORT函数,只使用了一个链接到电子表格onFormSubmit事件的脚本
答案 0 :(得分:0)
问题是您使用的动态公式与静态列结合使用。如果您希望它以您说话的方式工作,请尝试以下选项之一。
您可以将评论添加到“表单提交”选项卡,然后您的排序将在第二个选项卡上运行。
您可以使用App Script并使用onFormSubmit触发器将响应复制到工作表的顶部,而不是= sort函数。
答案 1 :(得分:0)
我最终摆脱了第二个电子表格和= SORT函数,只使用链接到电子表格的onFormSubmit事件的脚本。我想出了一个使用脚本编辑器的解决方案。
function moveLastRowToTop() {
var spreadSheet = SpreadsheetApp.getActive();
var activeSheet = spreadSheet.getActiveSheet();
var lastRow = activeSheet.getLastRow();
var lastCol = activeSheet.getLastColumn();
//get range of row to copy
var range = activeSheet.getRange(lastRow+1,1,1,lastCol);
//insert a new row at the top of the sheet
activeSheet.insertRowsAfter(1, 1);
//copy last row contents to newly created row
range.copyTo(activeSheet.getRange(2, 1, 1, lastCol), {contentsOnly:false});
//delete last row
activeSheet.deleteRow(lastRow+1);
}