如何解决不确定创建脚本是否答案-任何建议
如果可能的话,我正在尝试使工作表自动化。我的示例如下。
简·多伊(Jane Doe)用表格填写了一项调查(姓名,日期,电子邮件,她想教的课程),然后该调查显示在响应电子表格中。约翰·史密斯(John Smith)也填写了它,所以现在我在电子表格上有两行包含响应的行。我想知道google表格是否可以在底部为Jane(sheet2)和John(sheet3)自动创建一个新标签(表格)(对每个调查回复依此类推),然后将所有答案复制到自己的标签中标签。这样做的原因是,我必须联系Jane并询问她其他问题,而在底部添加我自己的标签即可轻松添加我的其他信息。我还将学生姓名添加到她的标签中以跟踪他们。 John和其他填写调查表的人也是如此。那有意义吗? 我在Google文档编辑器中发布了问题,他们建议我在此处提交问题,因为我可能需要运行脚本。
https://docs.google.com/spreadsheets/d/1akTLcXJnjwg8B-aSOP8JvrXBFRwXMkeluwi35WU1d98/edit?usp=sharing
解决方法
解决方案
您可以在Apps脚本中使用Form Submit trigger来触发我在下面提供的脚本,这样,每当有人在链接的电子表格中提交答案时,都会使用一个新的表格(带有响应者的姓名)添加了该提交的详细信息。
使用以下脚本在电子表格中添加自我说明注释(在电子表格菜单栏中,转到工具->脚本编辑器并粘贴并保存以下内容):
function FormSubmit() {
// Get the sheet where all form responses are added
var sheet = SpreadsheetApp.getActive().getSheetByName('Form Responses 1');
// Get all the data from the new response. I have used the method
//getRange(row,col,number rows,number columns) and getValues which as
// it returns a 2D array I have flatten it for easier use latter on.
var getData = sheet.getRange(sheet.getLastRow(),1,5).getValues().flat();
// Create new sheet setting its name to the property name that we had in our original
// sheet
var newSheet = SpreadsheetApp.getActive().insertSheet().setName(getData[1]);
// iterate over all the questions and details in the form and copy their values from
// the original sheet and paste them into the new sheet we just created
for(i=0;i<getData.length;i++){
newSheet.getRange(1,i+1).setValue(getData[i]);
}
}
为使此功能正常工作并在每次有答案时添加摘要表,必须在脚本编辑器中转到菜单栏,然后选择编辑->当前项目的触发器。这将带您进入一个新页面,您必须在该页面上单击添加触发器并选择以下内容:
- 要运行的功能:FormSubmit
- 选择事件源:从电子表格中
- 选择事件类型:在表单上提交
最后单击保存,您就可以开始了!
我希望这对您有所帮助。让我知道您是否需要其他任何东西,或者您是否不了解。 :)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。