2015-02-23 93 views
2

Google表单 - 我已经建立了一个Google表单,我想为每个已完成的传入表单输入分配一个唯一的ID。我的意图是使用唯一的ID作为我创建的另一个Google表单的输入,我将用它来链接两个完成的表单。有没有更简单的方法来做到这一点?如何为Google表单输入分配唯一ID?

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

+0

请显示目前为止的代码,以便我们可以帮助您。 – dg99 2015-02-23 20:44:22

+1

你可以找到一个很好的和简短的教程就在这里: http://webapps.stackexchange.com/questions/15449/can-i-add-an-autoincrement-field-to-a-google-spreadsheet-基于上一个 - 谷歌形式 – Rafa 2015-02-23 21:33:24

回答

1

我也在这个问题上敲了敲头,终于找到了解决办法。

我撰写这得到的每一行自动生成的,并且由一个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”将出现自动

公式的解释:

  • A柱一般应保持时间戳。如果时间戳不为空,那么这给出了行号:row(A2:A) - row(A2) + 2
  • 使用text我将它修剪为3位数字。
  • 然后,我与时间戳转换为数字使用VALUE串连,并用RIGHT

瞧它修剪到三个最右边的数字!一个既独特又难以猜测的数字(因为提交者无法访问时间戳)。

如果你想要更多的信心,显然你可以使用更多的数字为每个部分。

2

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

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