【问题标题】:Use a Google Forms to update existing Google Sheets使用 Google 表单更新现有的 Google 表格
【发布时间】:2014-11-27 05:14:28
【问题描述】:

我正在尝试构建一个 Google 表单,它使用来自 Google 表单的响应来填写现有 Google 表格的某些单元格。我还需要 Google 表单上的一些答案来自下拉式菜单中的电子表格。

一个组织目前正在使用现有的电子表格让其成员每周记录一些信息,但是,无论我纠正了多少次,一些成员仍然会错误地填写表格。出于这个原因,我试图让这个过程更加自动化。

当前电子表格的设置方式是为组织的不同部门设置多个工作表。在每个工作表中,有一列专用于该部门中的名称,该列的每一行都有不同的名称。还有专门针对特定周的列,因此将第 1 周的信息放入 D 和 E 列,将第 2 周的信息放入 F 和 G 列等。

前:

# |姓名 |百分比 |... 第 1 周 .... |... 第 2 周 .... | ....

1 |.. 鲍勃..| 0%...... ..|信息 1|信息 2 |信息 1|信息2..|

2 | ..乔..| 99%......|信息1.......................

我希望能够:

  1. 使表单的第一个问题成为选择部门的下拉菜单,然后根据对应于该部门的工作表生成其余问题的信息。
  2. 第二个问题下拉菜单选择名称。这些名称将基于电子表格的现有名称列中列出的名称。
  3. 一个下拉菜单,用于选择他们提交信息的具体星期。
  4. 他们用“信息 1”填写的填框问题。
  5. 他们用“信息 2”填写的填框问题。

提交时,表单会根据 (1) 找到正确的工作表,然后根据 (2) 找到正确的行,然后根据 (3) 找到正确的列,然后将 (4) 和 (5) 复制到对应的单元格。

可以这样做吗?还是我需要为每个部门创建一个单独的表格?

我对 Google 脚本一无所知,但我有 C++ 方面的经验,并且对 Python 中的脚本有基本的工作知识。

【问题讨论】:

    标签: forms google-apps-script google-sheets google-forms


    【解决方案1】:

    使用现有的 Google 表单很难实现(但并非不可能)。您不能使用 Google Apps 脚本来操纵表单的显示以响应用户操作,就像在您从头开始编写代码的表单上使用 Javascript 一样。

    Google Apps 脚本可以像在表单编辑器中一样生成和操作表单,它可以在表单提交时触发以对响应采取行动,但它不能直接与用户交互。

    要实现您想要的,您有几个选择。

    您可以设置一个带有逻辑分支的多页 Google 表单来获得您想要的表单行为,然后使用触发 onFormSubmit() 的 Apps 脚本来负责将数据移动到适当的位置。

    或者您可以完全跳过使用现有的 Google 表单,而是使用作为网络应用发布的 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/

    【讨论】:

    • 感谢您的帮助。在您发表评论之前,我尝试了设置多页谷歌表单的想法。我现在设置的方式是第一个问题询问什么部门,然后根据答案将它们发送到特定页面。我设法通过使用名为 form ranger 的插件来填充 google 表单上的下拉菜单。现在我只需要获取响应表上的值并将它们放入其他表上的适当位置。事实证明这很困难,因为我不知道谷歌应用脚​​本
    猜你喜欢
    • 1970-01-01
    • 2021-01-29
    • 1970-01-01
    • 1970-01-01
    • 2022-07-20
    • 1970-01-01
    • 1970-01-01
    • 2020-07-22
    • 1970-01-01
    相关资源
    最近更新 更多