如何更新现有行(而不是创建新的已更新行)

3
我创建了一个带有代码的表格,能够使用条件(在特定单元格中输入数字)将名为“ASSISTANT”的表格中的所需行发送到另一个名为“DATA”的表格。其想法是在分配时为用户分配汽车并注册“日期入库”值,并在接收回来时添加“日期出库”值。
我要解决的问题是,当我将汽车分配给用户时,提交的行包含“编号、姓名、编号、入库日期”值,当我们收到汽车时,脚本再次提交相同的行,包含相同的先前值,并将“出库日期”值添加到“DATA”表格的新行上,因此最终会有两行:第一行是分配时,第二行是收到时。
我希望我的脚本能够在“DATA”表格中搜索第一次提交的行,并用新行值覆盖它,而不是创建一个新行。
这里是包含问题代码的表格:

https://docs.google.com/spreadsheets/d/1X27afOLzvljYjM8IgkoM3f0jtpQHXDmZRm75VmLvAwY/edit#gid=0

作为提示,在以下链接中:

如何使用Google脚本将数据添加到Google表格中的特定行

一个名为“Sandy Good”的用户在该帖子中回答了其他成员,展示了如何搜索一行并通过覆盖它来“更新”它的代码。问题是我不知道如何将那段代码实现到我写的代码上。也许那篇文章是关键...或者也许不是,我只是想知道如何解决它。 我刚开始学习编程,试图自己完成这个脚本,进行研究和尝试,但现在我卡住了。

2
我发现这篇帖子太长了,包含了很多不必要的信息,并且有两个问题。请确保每篇帖子只包含一个问题。参考[ask]。顺便说一句,也许你想尝试一下[es.so]、[pt.so]、[ru.so]、[ja.so]。 - Rubén
嗨,Rubén我尝试遵循指南,提供详细的解释,因为我发现很多时候人们会问一些问题,比如:“但是,你想要实现什么?”。好吧,也许我的上一篇帖子太长了,我已经编辑过了,现在更简短了。实际上,我只有一个问题:如何更新现有行(而不是创建一个新的已更新行)。我真的很感激您的帮助。 - Marcos Martínez
虽然包含电子表格/Google Apps脚本项目的链接可能会有所帮助,但是请求帮助解决“存在问题”的代码问题应该包括一个[mcve]。 - Rubén
你好。根据您的建议,我也在西班牙语的 Stack Overflow 上发布了这个问题。再次为造成的不便道歉。期待您的回复。 - Marcos Martínez
正如我在我的旧问题中所述(现在已经根据您的建议进行了修改和删除),我是一个新手。实际上,我创建的脚本是由我在研究中发现的其他脚本组成的。对我来说,让它工作是一个巨大的成就,我相信几乎每个人都可以做出自己脚本的迷你版本,但我无法做到这一点。遵循那个要求提供“完整可验证的示例”的指南,我提供了专门为此帖子创建的表格,其中包含脚本和详细的验证说明。有人想从这个初学者身上找出更多错误吗? - Marcos Martínez
1个回答

3

通过一种解决方法解决。该脚本将在包含一般列表的工作表中添加一行。我已为每辆汽车创建了一个工作表,现在脚本将在每个汽车列表的第一位置添加一行,因此很容易找到每辆汽车的最后一个“日期”行,它始终是第一个。当想要写入“日期输出”时,脚本只需要覆盖所需汽车的第一行(包含该汽车列表的工作表名称与汽车编号相匹配)。

 targetSheet.insertRowAfter(1);   // Specify first row of destination sheet for receive content
 targetSheet.getRange("A2").setValue(cell1);   // Insert that content

区别在于当您分配一辆汽车时,会有一个"targetSheet.insertRowAfter(1)",而当您接收它时则没有。
好吧,在这个帖子里没有人帮助我。不管怎样,通过阅读其他问题和其他用户的友好回答,我学到了很多东西,所以谢谢大家!

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