在使用具有剪切和粘贴功能的Apps脚本时,如何处理Google表单中的新数据?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在使用具有剪切和粘贴功能的Apps脚本时,如何处理Google表单中的新数据?相关的知识,希望对你有一定的参考价值。
我在下面的链接中的Google表格中有一个员工培训数据库:
Google表单使用员工信息填充“添加员工表单响应”表的A到J列。通过简单的单元格功能将该数据传输到“资格”表。问题是,我无法弄清楚原因是,当每个新表单完成并且表单答案填充“添加员工表单响应”表时,它将“资格”表下一个空行中的单元格号更改为下一个随后的行号,这些行号链接到“添加员工表单响应”工作表中的空白单元格。例如,在完成表单之前,“资格表”第4行中的所有单元格都是从“添加员工表单响应”表的第4行中绘制的,但是在填充表单之后,“资格表”的第4行是从第5行中绘制的“添加员工表单响应”表保持为空。
我以前在另一张纸之间有另一张带有Query函数的纸,效果很好,但此后我添加了以下应用脚本(脚本编辑器的第1至24行),以在列中输入日期时剪切行B,然后将其粘贴到“资格-剩余员工”表中。问题是查询仅从“添加员工表单响应”表中再次检索数据,并重新填充“资格”表。换句话说,刚刚从“资格”表中剪切并粘贴到“资格-剩余员工”表中的数据将通过查询从“添加员工表单响应”表返回到“资格”表。] >
// Cut Employees Left from Qualifications sheet and // paste in Qualifications - Employees Left sheet function onEdit(e) { var ss = e.source; var sheet = ss.getActiveSheet(); var sheetName = "Qualifications" var range = e.range; var editedColumn = range.getColumn(); var editedRow = range.getRow(); var column = 2; var date = range.getValue(); // Object.prototype.toString.call(date) === '[object Date]' --> checks if value is date // editedColumn == column && editedRow > 4 --> checks if edited cell is from 'Date Left' // sheet.getName() == sheetName --> checks if edited sheet is 'Qualifications' if(Object.prototype.toString.call(date) === '[object Date]' && editedColumn == column && editedRow > 4 && sheet.getName() == sheetName) { var numCols = sheet.getLastColumn(); var row = sheet.getRange(editedRow, 1, 1, numCols).getValues(); var destinationSheet = ss.getSheetByName("Qualifications - Employees Left"); // Get first empty row: var emptyRow = destinationSheet.getLastRow() + 1; // Copy values from 'Qualifications' destinationSheet.getRange(emptyRow, 1, 1, numCols).setValues(row); sheet.deleteRow(editedRow); sheet.hideColumns(column); }
如果对“资格”表和“添加员工表格回复”表之间的行编号问题有一个简单的解决方法,我会很高兴。否则,我认为可以解决的唯一方法是恢复Query函数,然后获取apps脚本以从“添加员工表单响应”表中删除数据。我将不胜感激任何建议。我真的希望一切都自动化,因为会有很多计算机文盲用户。
我在Google表格中有一个员工培训数据库,位于下面的链接中:链接到Google Spreadsheet A Google表单使用员工信息填充“ Add Employee Form Responses”表中的A到J列。 ...
[您正在寻找一种更好的方法来动态记录新员工,并在“资格”表上的“添加员工表单回复”表中得到通知。目前,您使用简单的公式,但不一定会自动选择新员工。
以上是关于在使用具有剪切和粘贴功能的Apps脚本时,如何处理Google表单中的新数据?的主要内容,如果未能解决你的问题,请参考以下文章