【问题标题】:Excel: Dynamic dropdown listExcel:动态下拉列表
【发布时间】:2022-01-07 15:04:23
【问题描述】:

我在一侧有一个静态的“角色”表:

ROLES
Project Manager
Designer
Developer

另一边有 2 列“Name”和“Role”表:

NAME ROLE
Mark Project Manager
John Designer
Suzie Developer
Fred Project Manager
Julie Developer

现在我想要两个下拉菜单:

  • 第一个 (Role) 将是静态的(基于第一个“Roles”表,可通过数据验证轻松完成)
  • 第二个 (Name) 将是动态的,根据第一个下拉列表的选择查询第二个表

示例:如果我在第一个下拉列表中选择 Developer,我希望在第二个下拉列表中选择 SuzieJulie

Dynamic dropdown result example

我找不到这个数据模型的解决方案……

谢谢!

【问题讨论】:

    标签: excel excel-formula dropdown


    【解决方案1】:

    您将需要一个帮助列,在其中放置将根据选择返回正确列表的公式,然后参考该列表。没有直接的方法(没有 vba)可以从现有列表中执行您想要的操作。

    使用 Office 365

    使用辅助列。在 D2 中我输入了=FILTER(A:A,B:B=G1)

    其中 G1 具有三个角色的第一个下拉菜单。

    然后在数据验证公式中我输入=D2#

    这给了我:


    为了让它更健壮一点,我们可以创建三个范围来返回每个列表。

    我将标题放在 D1:F1 中,然后在 D2 中使用 =FILTER($A:$A,$B:$B=D1),然后将其放到 F2 中。

    然后我创建三个命名范围。名称是角色,公式分别类似于=Sheet5!$D$2#。我需要添加_ 来代替空格。

    然后在我使用的数据验证公式中=INDIRECT(SUBSTITUTE($G1," ","_"))

    这样我现在可以向下拖动它,它将引用同一行 G 列中的单元格并相应地更改列表:

    【讨论】:

    • 验证列表何时开始使用溢出范围?这确实是一种增强:-)
    • @Ike 对溢出列表的引用自引入以来一直有效,但您不能直接在数据验证中使用创建溢出列表的公式,就像您不能直接在数据验证。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-13
    相关资源
    最近更新 更多