如何更新现有行(而不是创建一个新的更新行)
How to update an existing row (instead of create a new one updated)
我创建了一个 sheet,其代码能够将所需的行从名为 "ASSISTANT" 的 sheet 发送到另一个名为 "DATA" 的 sheet 使用条件(在特定单元格中键入数字时)。这个想法是将汽车分配给在分配时注册 "date in" 值的用户,并在收到时添加 "date out" 值。
我要解决的问题是,当我将汽车分配给用户时,提交的行包含 "number, name, number, date in" 值,当我们收到汽车时,脚本再次提交包含相同内容的同一行以前的值并将 "date out" 值添加到 DATA sheet 中的新行,所以最后,我有两行:第一行是分配的,第二行是收到的。
我希望我的脚本在 "DATA" sheet 中搜索第一个提交的行并用新行值覆盖它,而不是创建一个新行。
这里是 sheet 包含有问题的代码:
https://docs.google.com/spreadsheets/d/1X27afOLzvljYjM8IgkoM3f0jtpQHXDmZRm75VmLvAwY/edit#gid=0
作为提示,在下面的 link:
…一位名叫 "Sandy Good" 的用户在 post 上向其他成员回答了一个代码,该代码显示了如何搜索一行并 "update" 通过覆盖它。问题是我不知道如何将该代码应用到我编写的代码上。也许 post 是关键……也许不是,我只是想知道如何解决它。
我从编程开始,我试图自己完成这个脚本,研究和尝试,但现在我被困住了。
已通过变通方法解决。该脚本将在包含通用列表的 sheet 的第一个位置添加一行。我为每辆车创建了一个 sheet,现在脚本会在每个汽车列表的第一个位置添加一行,因此很容易找到汽车的最后 "date in" 行,总是第一的。当想要编写添加 "date out" 脚本时,只需覆盖所需汽车的第一行(包含该汽车列表的 sheet 名称与汽车编号匹配)。
targetSheet.insertRowAfter(1); // Specify first row of destination sheet for receive content
targetSheet.getRange("A2").setValue(cell1); // Insert that content
不同之处在于,当您分配汽车时有"targetSheet.insertRowAfter(1)",当您收到它时没有。
嗯,这里没有人 post 帮助我。无论如何,我从其他问题中学到了很多东西......并从其他用户那里得到了很好的回答,所以谢谢大家!
我创建了一个 sheet,其代码能够将所需的行从名为 "ASSISTANT" 的 sheet 发送到另一个名为 "DATA" 的 sheet 使用条件(在特定单元格中键入数字时)。这个想法是将汽车分配给在分配时注册 "date in" 值的用户,并在收到时添加 "date out" 值。
我要解决的问题是,当我将汽车分配给用户时,提交的行包含 "number, name, number, date in" 值,当我们收到汽车时,脚本再次提交包含相同内容的同一行以前的值并将 "date out" 值添加到 DATA sheet 中的新行,所以最后,我有两行:第一行是分配的,第二行是收到的。
我希望我的脚本在 "DATA" sheet 中搜索第一个提交的行并用新行值覆盖它,而不是创建一个新行。
这里是 sheet 包含有问题的代码:
https://docs.google.com/spreadsheets/d/1X27afOLzvljYjM8IgkoM3f0jtpQHXDmZRm75VmLvAwY/edit#gid=0
作为提示,在下面的 link:
…一位名叫 "Sandy Good" 的用户在 post 上向其他成员回答了一个代码,该代码显示了如何搜索一行并 "update" 通过覆盖它。问题是我不知道如何将该代码应用到我编写的代码上。也许 post 是关键……也许不是,我只是想知道如何解决它。
我从编程开始,我试图自己完成这个脚本,研究和尝试,但现在我被困住了。
已通过变通方法解决。该脚本将在包含通用列表的 sheet 的第一个位置添加一行。我为每辆车创建了一个 sheet,现在脚本会在每个汽车列表的第一个位置添加一行,因此很容易找到汽车的最后 "date in" 行,总是第一的。当想要编写添加 "date out" 脚本时,只需覆盖所需汽车的第一行(包含该汽车列表的 sheet 名称与汽车编号匹配)。
targetSheet.insertRowAfter(1); // Specify first row of destination sheet for receive content
targetSheet.getRange("A2").setValue(cell1); // Insert that content
不同之处在于,当您分配汽车时有"targetSheet.insertRowAfter(1)",当您收到它时没有。
嗯,这里没有人 post 帮助我。无论如何,我从其他问题中学到了很多东西......并从其他用户那里得到了很好的回答,所以谢谢大家!