如何轻松管理 Excel/Google 表格中某一列的唯一值?

如何轻松管理 Excel/Google 表格中某一列的唯一值?

此功能在 Web 应用程序中非常常见,但我在 Excel 中找不到类似的解决方案。

我手动输入不同出版物的元数据。其中一列是出版商。

我希望此列有一个下拉排序列表,其中已输入所有先前的值。当我输入一些文本时,我将获得包含该文本的所有可用项目,并且我将能够选择一个。

如果我找不到某个条目,我希望轻松地将该发布者添加到列表中,以便其他条目可以使用。

奖励积分(

答案1

我付钱给 Fiverr 的一名程序员来帮我做这件事,这是他的工作代码。

function onEdit(e) {
  var range = e.range;
  if (e.value.toString().trim() == '')
    return
  var sheet = SpreadsheetApp.getActiveSheet();
  if (range.getNumColumns() == 1 && range.getNumRows() == 1 && range.getColumn() == 2) {
    var Avals = sheet.getRange("B2:B").getValues();
    var Alast = Avals.filter(String).length;
    var list = sheet.getRange("D2:D" + Alast).getValues();
    list = [].concat(...list);
    if (list.indexOf(e.value) == -1) {
      list.push(e.value);
      list.sort()
      list = list.map(function (item) {
        return [item]
      })
      console.log(list)
      sheet.getRange("D2:D" + (list.length + 1)).setValues(list)
    }
  }
}

相关内容