如何为谷歌表单输入分配唯一的ID?

时间:2015-02-23 20:33:31

标签: google-sheets google-form

Google表单 - 我已经设置了一个Google表单,我想为每个已完成的传入表单输入分配一个唯一ID。我的目的是使用唯一ID作为我创建的另一个谷歌表单的输入,我将用它来链接两个已完成的表单。还有另一种更简单的方法吗?

我不是程序员,但如果需要,我可以使用编程资源。

2 个答案:

答案 0 :(得分:3)

我也在为此敲打头,终于找到了解决方案。

我为每一行自动生成一个6位数的数字,由以下部分组成:

  • 行号的3位数 - 提供唯一性(如果您预期响应超过998,则可以使用更多),与

  • 连接
  • 转换为数字的时间戳的3位数字 - 可防止猜测数字

请按照以下说明操作:

  1. 在与您的表单相关联的电子表格中创建一个附加列,我们称之为:“唯一ID”
  2. 行号1应自动填充列标题
  3. 在第2行的“唯一ID”列下,添加以下公式:

    =arrayformula( if( len(A2:A), "" & text(row(A2:A) - row(A2) + 2, "000") & RIGHT(VALUE(A2:A), 3), iferror(1/0) ) )

    注意:数组公式会自动应用于整个列。

  4. 确保您永远不会删除该行,即使您清除了表单中的所有结果
  5. 填充新提交后,其“唯一ID”将自动显示
  6. 公式说明:

    • A列通常应该包含时间戳。如果时间戳不为空,则会显示行号:row(A2:A) - row(A2) + 2
    • 使用text我将其修剪为3位数字。
    • 然后我将其与使用VALUE转换为数字的时间戳连接,并使用RIGHT
    • 将其修剪为最右边的三位数字

    瞧!一个既独特又难以猜测的数字(因为提交者无法访问时间戳)。

    如果您希望更有信心,显然您可以为每个部分使用更多数字。

答案 1 :(得分:2)

您可以使用表单数据旁边的arrayformula应用唯一ID号。在第一个最右边的空列的第1行中,您可以使用类似

的内容
=arrayformula(if(row(A1:A)=1,"UNIQUE ID",if(len(A1:A)>0,98+row(A1:A),iferror(1/0))).