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
可以添加更多带有列标题标签的列。只需调整数据验证列表来源上的范围。将水果列表放在名为“水果”的命名范围内,将蔬菜列表放在名为“蔬菜”的命名范围内 假设您的类别位于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)))}