【问题标题】:Excel Data validation list with array formula带有数组公式的 Excel 数据验证列表
【发布时间】:2021-10-14 21:53:24
【问题描述】:

我有一个表,列中有重复值。如何使用此列在另一个单元格中提供唯一值作为下拉选项?我希望能够在我的表中输入可能包含已有值或新值的新行,并且下拉菜单应自动反映这一点。

我对 UNIQUE(MyTable[MyColumn]) 的尝试:

  • Excel 不接受此公式作为数据验证源
  • 我可以将 UNIQUE(MyTable[MyColumn]) 溢出到范围并命名此范围并将其用作数据验证源,但是当我的表数据更改时,命名范围不会自动扩展/收缩
  • Excel 将不接受新表中的 UNIQUE(MyTable[MyColumn])

【问题讨论】:

    标签: excel unique dropdown


    【解决方案1】:

    替代解决方案

    • 插入引用原始表作为源的 Power Query:= Excel.CurrentWorkbook(){[Name="MyTable"]}[Content]
    • RMB 保留一列,删除其他列(如果有)
    • RMB 在一列上,删除重复项
    • 关闭并加载到工作表作为表格,命名表格DropdownTable
    • 参考=DropdownTable(或=DropdownTable[#All] 以包含标头)定义新的命名范围DropdownValues
    • 使用=DropdownValues作为数据验证源

    【讨论】:

      【解决方案2】:

      你是在正确的方式 - 是的:这很烦人,绝对不直观。

      命名时必须在引用范围后添加#:

      然后使用您的验证列表的名称。现在,当您向表中添加新行时,它会展开。

      D3:引用表格列的唯一公式 名称“lstValues”:引用 $D$3# 然后使用 lstValues

      【讨论】:

      • 由于某种原因,Excel 对范围引用末尾的 # 不满意。它将接受命名范围,但不允许在任何地方使用它
      • 您为名称引用的单元格 (!) 包含 UNIQUE-Formula?关于屏幕截图:请参阅我的答案更新
      • 好的,我知道我的错误在哪里。我在整个溢出后输入#(屏幕中的 D3:D8#)。它应该只是第一个值 - D3#。现在 Excel 接受 =IstValues 作为数据验证源。我将发布同时提出的替代答案,但这有效。谢谢!
      猜你喜欢
      • 2023-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-03
      相关资源
      最近更新 更多