动态命名范围基于第二列的值而不使用VBA

时间:2013-12-31 22:08:32

标签: excel excel-formula

我正在尝试构建一个界面,允许用户选择一个修改类别(总共17个类别),并让第二个下拉框列表仅适用于该类别的那些修改(从5到30个修改) 。

通常,我会设置参考表以指出哪些修改适用于哪个类别。但是,这个特殊工具每周都会由非技术人员填充新数据。已经有一个结构将每个修改号分配给给定的类别。但是,任何给定数据中的修改号列表都会发生变化,以至于维护单独的列表会变得过于繁琐。

我希望有一种方法可以让动态命名范围仅包含类别列等于所选类别的那些值。

我想使用DNR,因为我将使用它作为验证数据列表的一部分,最终将控制最终用户显示少量图表。此外,我们不允许将宏用于共享电子表格。

  • A1将包含类别(我可以让这个命名范围工作得很好,这是一个基本的)
  • A2应该只包含C列中的那些mod,其中D列中的相应单元格等于A1的值。

2 个答案:

答案 0 :(得分:3)

如果

,您可以使用动态范围名称来提取子类别
  • 有一个双列表,其中一列中包含类别,另一列中包含子类别
  • 重复所有主要类别(无空格)
  • 该表按主类别列升序排序。

然后可以使用

行的公式构建动态范围名称
=INDEX(Sheet1!$B:$B,MATCH(Sheet1!$E$2,Sheet1!$A:$A,0)):INDEX(Sheet1!$B:$B,MATCH(Sheet1!$E$2,Sheet1!$A:$A,1))

enter image description here

因此,您只需要弄清楚如何从数据输入工具动态创建这个双列表。

答案 1 :(得分:1)

我最近做了类似的事情,子类别必须由用户更新。类别和子类别很容易更新,并且非技术性很容易理解,唯一的规则就是不要在列表中间留下空白。当然,在我的工作版本中,类别表位于单独的“菜单”选项卡上。

这是我提出的布局(略微简化版本):

subcategory drop-down layout

这些是示例中的命名范围:

Named Ranges

category是类别单元格 cats是包含可用类别列表的行 DDCats是下拉列表,删除空格的类别列表 mods是子类别/修改的完整网格 modlist是动态选择的mod列,具体取决于所选类别 DDMods是下拉列表,删除空格

的mod列表