我在 Windows 8.1 上使用 Excel 2016。
我希望能夠匹配兩個條件,其中一個條件是列標題,另一個條件是可以在該列中出現任意多次的單元格內容,並返回多個行標題作為結果。
在我的範例中,我希望能夠在儲存格 B6 和 B7 中輸入水果的名稱(列標題)和品質(「好」或「壞」),並接收與該水果相符的任何特徵(行標題)和品質.例如,如果我給它“蘋果”和“好”,我希望它返回“外觀”和“味道”(而不是“價格”)。
我以前使用過索引匹配,並且聽說過使用數組公式來處理單元格範圍。但我無法弄清楚如何結合所有這些 - 特別是因為我發現的所有教程都是關於如何匹配行標題和列標題,並找到結果單元格。另外,我不想「硬編碼」對給定列標題的引用,因為我可能並不總是想匹配「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&"//")
將您想要的任何內容替換為“//”的分隔符號。