使用Google表单更新现有的Google表格

7
我正在尝试构建一个Google表单,将已有Google Sheets的某些单元格填充为来自Google表单的响应。我还需要一些Google表单答案以下拉式菜单的形式来自电子表格。
目前,该现有电子表格由一个组织用于让其成员每周记录一些信息,但是,无论我多少次纠正他们,一些成员仍会填写表格不正确。出于这个原因,我正在尝试使这个过程更加自动化。
当前电子表格的设置方式是,有多个表格用于组织的不同部门。在每个表格中,都有一列专门用于该部门的名称,在该列的每行上都有不同的名称。还有专门用于特定星期的列,因此第1周的信息被放入D和E列,第2周的信息在F和G列等。
例如:
# | 名称 | 百分比 |...第1周....|...第2周....|....
1 | Bob | 0% | Info1 | Info2 | Info1 | Info2
2 | Joe | 99% | Info1 | ...
我想能够:
1. 将表单的第一个问题制作为下拉菜单,选择该部门,然后根据对应该部门的表格填写其余问题的信息。 2. 第二个问题是下拉菜单,用于选择名称。名称基于电子表格的已有名称列中列出的名称。 3. 选择他们提交信息的特定周的下拉菜单。 4. 填写框问题,他们填写“信息1”。 5. 填写框问题,他们填写“信息2”。
提交表单后,表单将根据(1)找到正确的表格,然后根据(2)找到正确的行,接着根据(3)找到正确的列,并将(4)和(5)复制到相应的单元格中。
这是否可能做到?还是我需要为每个部门创建一个单独的表单?
我不熟悉Google脚本,虽然我有C++的经验,并且具有Python脚本的基本工作知识。
1个回答

4
这���会很难实现(但不是不可能),使用原始的Google表单无法像你在从头编写的表单上使用JavaScript一样,根据用户操作来操纵表单的显示。Google Apps脚本可以像在表单编辑器中一样生成和操作表单,并且可以在提交表单时触发响应以处理响应,但它无法直接与用户交互。为了实现你想要的功能,你有几个选择。你可以设置一个多页面的Google表单,通过逻辑分支获取所需的表单行为,然后使用在表单提交时触发的Apps脚本来处理数据移动到适当的位置。或者你可以完全跳过使用原始的Google表单,而是使用发布为Web应用程序的Google Apps脚本来呈现表单,这使你完全控制向用户显示的表单(HTML、CSS和JavaScript),但你无法利用任何Google表单功能。你可以使用doGet()来呈现表单,并使用doPost()来处理提交。
第三种方法是两者的混合,设置多个单独的Google表格,并使用作为Web应用程序发布的Apps脚本来显示第一个下拉菜单并将用户引导到适当的表格。然后,您可以在每个Google表格的onFormSubmit()上触发脚本来处理数据移动。
请参见以下内容:

https://developers.google.com/apps-script/guides/triggers/events#google_forms_events

https://developers.google.com/apps-script/guides/web#deploying_a_script_as_a_web_app https://developers.google.com/apps-script/guides/html/


感谢您的帮助,先生。在您的评论之前,我尝试了设置一个多页Google表单的想法。现在我设置的方式是,第一个问题问分部是什么,然后根据答案发送到特定的页面。我成功地利用一个名为“表格管理器”的附加组件填充了Google表单上的下拉菜单。现在,我只需要将响应表格中的值放入其他表格中的适当位置即可。然而,这证明是困难的,因为我不懂Google应用脚本。 - Pseduosance

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接