【问题标题】:Create Unique ID Google Form创建唯一 ID Google 表单
【发布时间】:2018-01-30 16:19:30
【问题描述】:

我有一个用于填充响应电子表格的 Google 表单。我对脚本以及如何运行它们有基本的了解。不过我不太确定从哪里开始..

用户提交了一个表单,并在响应电子表格的第 452 行(示例)上创建了一个新行。响应填充 A 到 D 列。我希望该新行上的 E 列填充“是”。有人可以帮我开始吗?

这是我对代码的粗鲁尝试:

function InsertID() {
  //this script is triggered to run 'From Spreadsheet' on 'Form Submit'
var ss = SpreadsheetApp.getActiveSpreadsheet();            
var sheet = ss.getActiveSheet();                             
var LatestID = sheet.getRange(1, 6).getValue() //cell F1 contains the latest ID number given out  

  row = newform.row 
  cells(row,5) = LastestID + 1 //put the next ID number in column 5 of the new row

  sheet.getRange(1, 6).Value = LatestID + 1 'Increment the LatestID number by 1 

}

【问题讨论】:

  • 欢迎。首先,请关注tour 结帐How to Ask 以及标签摘录和维基,因为其中一些包含有用的信息,包括链接和提示。还要添加关于您的搜索/研究工作的简要说明。
  • 嗨鲁本,感谢您的回复。我想在新回复旁边填写一个 ID 号。我将在工作表的另一部分有一个专用单元格,其中包含最新的 ID 号。所以新的响应出现并落在第 15 行,我希望脚本查看最新的 ID 号(假设它是 20,然后将其增加到 21)。因此单元格 E15 将显示“21”。我不能简单地将回复的数量用作 ID 号,以防有人删除了一些表格(并删除了电子表格上的行)。
  • ID 是否应该与提交的响应数相匹配?在提交表单时,您可以使用 var id = FormApp.getActiveForm().getResponses().length 创建您的 ID
  • 基本上,完成的第一个表格应该得到 ID 号 1。完成的第二个表格应该是 ID 号 2。如果表格 2 被删除,那么下一个表格应该被赋予数字 3(即它知道那里是数字 2,但它的 ID 与之前的表单不同。
  • 我已经修改了我的原始问题以包含我正在尝试的代码(我知道它错了,但想表明我正在尝试)

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


【解决方案1】:

据我了解;您需要在回复表上有一列,每当有新的提交时,它会在每行自动生成 ID#?

我相信您不需要代码,只需行标题后第一行的基本公式: =arrayformula( if( len(B2:B), (row(B2:B) - row(2) + 1), iferror(1/0) ) )

【讨论】:

    猜你喜欢
    • 2021-10-13
    • 1970-01-01
    • 2021-04-25
    • 1970-01-01
    • 2016-12-12
    • 1970-01-01
    • 1970-01-01
    • 2011-03-14
    • 1970-01-01
    相关资源
    最近更新 更多