我不太熟悉Excel,但我学得很快,而且我根据下拉列表中的选择输出数据时出现问题。这就是我想要做的事情。我建立了下拉列表,让用户首先选择一个名称,然后选择类别,然后根据他们的类别选择,他们从一个子类别中进行选择。我想要做的是根据他们选择的子类别,我想根据他们从下拉列表中选择的值输出一串文本。
示例是用户从下拉列表名称列表中选择Tom。 然后,用户从类别列表中选择食物。 然后,用户从子类别列表中选择早餐(在B4栏中)。
我想要做的是为我在Sheet2上列出的早餐类别下列出的所有内容输出一串文字。在早餐下的Sheet2上,我有以下值:谷物,吐司,煎饼(每个都列在他们自己的细胞中)。以下是我希望如何在Sheet1上显示输出:
Tom Cereal
Tom Toast
Tom Pancakes
对我来说,最简单的方法是什么?我尝试了以下声明:
=IF(B4='Breakfast',Sheet2!Breakfast,"")
它只会输出Tom Pancakes。如何输出每一行而不是最后一行?我需要使用计数器功能吗?任何帮助将不胜感激!
答案 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拉入数组。
- 使用此数组,它首先检查它是否有任何值,以便我们可以排除任何空白单元格
- 如果数组项不为空,则将所选名称与数组的每个部分连接。
- 如果数组项为空,则返回空白单元格
希望这会对你有所帮助。的问候,