Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 基于Vlookup匹配的下拉列表_Excel_Drop Down Menu_Vlookup - Fatal编程技术网

Excel 基于Vlookup匹配的下拉列表

Excel 基于Vlookup匹配的下拉列表,excel,drop-down-menu,vlookup,Excel,Drop Down Menu,Vlookup,我正在寻找使用Vlookup拉取特定内容的下拉列表: 以下是场景: 桌子 A | B Category | Item Fruit | Apple Fruit | Orange Veg | Potato Fruit | Guava Fruit | Tomato Veg | Lettuce Fruit | Pear Veg | Cucumber Veg | Spinach 我要找的是以下内容: 例如,

我正在寻找使用
Vlookup
拉取特定内容的下拉列表:

以下是场景:

桌子

    A    |   B
Category | Item
Fruit    | Apple
Fruit    | Orange
Veg      | Potato
Fruit    | Guava 
Fruit    | Tomato 
Veg      | Lettuce 
Fruit    | Pear 
Veg      | Cucumber 
Veg      | Spinach
我要找的是以下内容:

例如,我有两个下拉列表

下拉列表1(仅列出水果。)

下拉列表2(仅蔬菜列表)


该表将有2个以上的列,但基本内容将让我开始学习。

您可能走错了方向。在新的空白工作表中,将此表放入AA1:AB6

  • 选择B3并选择数据► 数据验证。选择允许:列表和来源:=$AA$1:$AB$1

  • 选择B5并选择Data► 数据验证。选择允许:列表和来源:=索引($AA$2:$AB$6,匹配($B$3,$AA$1:$AB$1,0))


  • 选择一个列标题标签将与匹配,并向第二个下拉列表提供正确的子列表


    可以添加更多带有列标题标签的列。只需调整数据验证列表来源上的范围。

    将水果列表放在名为“水果”的命名范围内,将蔬菜列表放在名为“蔬菜”的命名范围内

    假设您的类别位于A列,并且希望下拉列表位于B列,然后在单元格B2中单击,并在功能区的“数据”选项卡上选择“数据验证”

    从下拉列表中选择数据验证,并将顶部下拉框更改为列表

    在底部的源框中输入:

    =INDIRECT(A2)
    
    选择“确定”并向下复制该列

    编辑:满足未知数量的不同类别的需求

    您可以采用@Jeeped提出的方法,包括一组动态填充自身的表,如下所示:

    列标题(在单元格E1:M1中)的数组公式为:

    标题下方行的数组公式为:

    {=INDEX($B:$B,SMALL(IF($A:$A=E$1,ROW($A:$A)-MIN(ROW($A:$A))+1),ROWS($A$1:$A1)))}
    


    但是,我必须警告您,工作簿的性能将很差,因为数组公式需要做很多工作。

    谢谢您。。。记下我想要什么。。。让我们假设有100个不同的类别。我不想创建100个表。这也需要是动态的,因为可能存在未知(新)类别。如果你有一个新的鞋类别,那么你会把鞋子放在AC1中,把运动鞋、休闲鞋、拖鞋、凉鞋放在AC2:AC5中。我给你的公式可以根据添加的新列自动调整。搜索动态命名范围。但是每次创建一个新表都需要不断的开发,并且不是动态的。谢谢。。。记下我想要什么。。。让我们假设有100个不同的类别。我不想创建100个表。这也需要是动态的,因为可能存在未知(新)类别。好的,如果您所有的类别和项目组合都在一个表中,我需要更多地了解您的确切需求,以确定最佳方法。下拉列表将显示在哪里?工作表上是否只有一个,或者您是否希望其他表中的每一行都有一个单元格内下拉列表?如果是前者,则可以通过公式或可能通过使用透视表/切片器来实现。如果需要后者,则可能需要VBA代码。
    =INDIRECT(A2)
    
    {=IFERROR(INDEX($A$2:$A$100, MATCH(0,COUNTIF($C$1:D1, $A$2:$A$100), 0)),"")}
    
    {=INDEX($B:$B,SMALL(IF($A:$A=E$1,ROW($A:$A)-MIN(ROW($A:$A))+1),ROWS($A$1:$A1)))}