基于Vlookup匹配的下拉列表

时间:2015-07-13 10:09:21

标签: 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

我正在寻找的是:

我有(例如)2次下拉。

下拉列表1(只有Fruit的列表。)

Apple 
Orange 
Guava  
Tomato 
Pear

下拉2(只有蔬菜清单。)

Potato 
Lettuce 
Cucumber 
Spinach 

该表格将有两列以上,但基础知识将让我开始。

2 个答案:

答案 0 :(得分:0)

你可能朝着错误的方向前进。在新的空白工作表中,将此表放入AA1:AB6。

Fruit Vegetable drop downs

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

    Fruit Vegetable drop downs
  2. 选择B5并选择数据►数据验证。选择允许:列表和来源:= INDEX($ AA $ 2:$ AB $ 6 ,, MATCH($ B $ 3,$ AA $ 1:$ AB $ 1,0))

    Fruit Vegetable drop downs <登记/>
    Fruit Vegetable drop downs
  3. 选择其中一个列标题标签将与INDEX function匹配,并将正确的子列表提供给第二个下拉列表。

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

答案 1 :(得分:0)

将您的水果列表放在名为“Fruit”的命名范围内,并将您的veg列表放在名为“Veg”的命名范围内。

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

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

在底部的来源框中输入:

response.sendRedirect('YourJspNameOrPath.jsp');

选择确定并复制列。

编辑:迎合未知数量的不同类别

你可以通过包含一组动态填充自己的表来调整@Jeeped提出的方法,如下所示:

列标题的ARRAY公式(在单元格E1:M1中)是:

=INDIRECT(A2)

以及标题下方行的ARRAY公式为:

{=IFERROR(INDEX($A$2:$A$100, MATCH(0,COUNTIF($C$1:D1, $A$2:$A$100), 0)),"")}

enter image description here

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