【问题标题】:Google sheets add data to dropdown list谷歌表格将数据添加到下拉列表
【发布时间】:2021-03-22 22:16:09
【问题描述】:

好的,第一次使用谷歌表格。我已经制作了一个数据验证列表。我知道我可以不在 Excel 列表中,但我如何在谷歌表格中做到这一点。因此用户可以输入数据并将其保存回列表。 我设置了数据验证,因此它接受其他文本,但我不知道如何将其添加到列表中。

【问题讨论】:

  • 您能否提供一份您正在处理的电子表格的副本(不含敏感信息),清楚地表明预期的结果?

标签: google-sheets


【解决方案1】:

虽然 Google 脚本可以实现您正在寻找的内容,用户可以简单地选择在警报框中输入文本字符串并将其添加到数据验证列表中,但更直接的方法是使用您在数据验证中的数据源作为主工作表的一部分的“范围”,或者将其位于不同的工作表上。这样,您的范围内列出的任何项目都将成为数据验证的一部分,用户只需将更多项目添加到您的数据验证范围上定义的空单元格中。

快速编辑 您还可以尝试下面的简单脚本,提示用户输入他们想要添加到下拉列表的内容。 You may refer to this documentation for the specifics.

function Additem() {
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Database"); //Defined the sheet where to make edits
  var lastrow = ss.getLastRow(); //Defines the last item on row with content
  var targetcell = ss.getRange(lastrow+1,1); //Select whatever the next available blank row on column A to add entry to data validation

  //UI Prompt for Adding Values
    var sui = SpreadsheetApp.getUi();
    var theprompt = sui.prompt("Add item to selection", sui.ButtonSet.OK_CANCEL);
    var usersinput = theprompt.getResponseText();
    Logger.log(usersinput)

  //Conditional action for the UI
    if (theprompt.getSelectedButton() == sui.Button.OK) {
        targetcell.setValue(usersinput);
        } else SpreadsheetApp.getActiveSpreadsheet().toast("Adding to drop down list cancelled","Notification");
}

这假设您存储数据的工作表名为Database(您可以随时更改代码中的该部分。这样做的目的是将提示中输入的任何内容添加到 A1 列的下一个空单元格中。

请参阅下面的示例:

在提示输入任意值后:

【讨论】:

  • 我已经这样做了,但我试图避免用户进入存储数据范围的工作表
  • 我已经编辑了我的答案以包含一个您可以使用的简单脚本。
  • 谢谢,但我如何将它与我的列表联系起来。因此,数据验证列表仅在“发票”表和单元格 B6 中,它将被保存到 A 之后下一个空单元格中的“客户”表中!
猜你喜欢
  • 1970-01-01
  • 2022-01-28
  • 1970-01-01
  • 1970-01-01
  • 2015-10-15
  • 2020-12-01
  • 1970-01-01
  • 2017-04-04
  • 1970-01-01
相关资源
最近更新 更多