希望根据下拉列表

时间:2017-03-15 22:01:48

标签: excel

我不太熟悉Excel,但我学得很快,而且我根据下拉列表中的选择输出数据时出现问题。这就是我想要做的事情。我建立了下拉列表,让用户首先选择一个名称,然后选择类别,然后根据他们的类别选择,他们从一个子类别中进行选择。我想要做的是根据他们选择的子类别,我想根据他们从下拉列表中选择的值输出一串文本。

示例是用户从下拉列表名称列表中选择Tom。 然后,用户从类别列表中选择食物。 然后,用户从子类别列表中选择早餐(在B4栏中)。

我想要做的是为我在Sheet2上列出的早餐类别下列出的所有内容输出一串文字。在早餐下的Sheet2上,我有以下值:谷物,吐司,煎饼(每个都列在他们自己的细胞中)。以下是我希望如何在Sheet1上显示输出:

Tom Cereal
Tom Toast
Tom Pancakes

对我来说,最简单的方法是什么?我尝试了以下声明:

=IF(B4='Breakfast',Sheet2!Breakfast,"")

它只会输出Tom Pancakes。如何输出每一行而不是最后一行?我需要使用计数器功能吗?任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

假设最大值为5,从B5到B9开始,您将放置以下数组公式:

=IF(indirect("Sheet2!"&SUBSTITUTE(ADDRESS(1,MATCH(B3,Sheet2!1:1,0),4),"1","")&"2:"&SUBSTITUTE(ADDRESS(1,MATCH(B3,Sheet2!1:1,0),4),"1","")&"6")<>"",B1&" "&indirect("Sheet2!"&SUBSTITUTE(ADDRESS(1,MATCH(B3,Sheet2!1:1,0),4),"1","")&"2:"&SUBSTITUTE(ADDRESS(1,MATCH(B3,Sheet2!1:1,0),4),"1","")&"6"),"")

请注意,选择5个单元格并放置公式后,按CTRL + SHIFT + ENTER将其设置为数组公式。当它用括号括起来时,你会确认它是一个数组公式&#34; {}&#34;。

公式逻辑如下:

- 如果找到Sheet2中的哪个列包含所选的子catergory,则使用MATCH。

- 然后,ADDRESS将列号转换为列字母

- 然后使用INDIRECT引用正确的列将值从Sheet2拉入数组。

- 使用此数组,它首先检查它是否有任何值,以便我们可以排除任何空白单元格

- 如果数组项不为空,则将所选名称与数组的每个部分连接。

- 如果数组项为空,则返回空白单元格

希望这会对你有所帮助。的问候,