将列标题(非特定位置)与列内容进行匹配,并获取所有行标题

将列标题(非特定位置)与列内容进行匹配,并获取所有行标题

我在 Windows 8.1 上使用 Excel 2016。

我希望能够匹配两个条件,其中一个条件是列标题,另一个条件是可以在该列中出现任意次数的单元格内容,并返回多行标题作为结果。

在我的示例中,我希望能够在单元格 B6 和 B7 中输入水果的名称(列标题)和品质(“好”或“坏”),并接收与该水果和品质相匹配的任何特征(行标题)。例如,如果我输入“苹果”和“好”,我希望它返回“外观”和“味道”(而不是“价格”)。

我以前使用过 Index Match,也听说过使用数组公式来处理单元格区域。但我不知道如何将所有这些结合起来——尤其是因为我找到的所有教程都是关于如何匹配行标题和列标题,并找到结果单元格。另外,我不想“硬编码”对给定列标题的引用,因为我可能并不总是想匹配“Apples”。

我尝试过数据透视表,但它不是很优雅(我的真实数据有 5 个“质量”项目,而不仅仅是 2 个)。

示例表的屏幕截图

   A           B         C        D         E        F
1            | Apples | Bananas | Lemons | Mangos | Oranges
-----------------------------------------------------------
2 Appearance | good   | good    | bad    | bad    | good
 ----------------------------------------------------------
3 Flavour    | good   | good    | bad    | good   | good
 ----------------------------------------------------------
4 Price      | bad    | good    | good   | bad    | good
----------------------------------------------------------
5            |        |         |        |        | 
----------------------------------------------------------  
6 Fruit:     | apples |         |        |        |
----------------------------------------------------------
7 Quality:   | good   |         |        |        |             
----------------------------------------------------------
8            |        |         |        |        |     
----------------------------------------------------------  
9 Results:   |        |         |        |        |         
----------------------------------------------------------

答案1

这是@Scott Craner 提出的建议的变体,但它可能适合您。

列内容到行标题

我添加了占位符来表示其他品质。将此公式放在 B11 中,然后向下拖动行数,使其等于您拥有的品质数。

=IF(INDEX($B2:$F2,,MATCH($B$8,$B$1:$F$1))=$B$9,$A2,"")

如果您不喜欢 Results1 的外观而确实希望将值放在一个单元格中,则将此公式放在 B18 中并隐藏第 11 行至第 15 行。

=IF(B11="","",B11&"//") & IF(B12="","",B12&"//") & IF(B13="","",B13&"//") & IF(B14="","",B14&"//") & IF(B15="","",B15&"//")

将您想要的任何内容替换为“//”的分隔符。

答案2

这将遍历单元格并返回与 INDEX 匹配的所有行号,然后返回该值。

将其放入 B9:

=IFERROR(INDEX(A:A,AGGREGATE(15,6,ROW($A$2:$A$4)/(($B$2:$F$4=$B$7)*($B$1:$F$1=$B$6)),COLUMN(A:A))),"")

并复制足够的内容以说明所有特征。

在此处输入图片描述

相关内容