Ich verwende Excel 2016 unter Windows 8.1.
Ich möchte in der Lage sein, zwei Kriterien abzugleichen, wobei ein Kriterium eine Spaltenüberschrift und das andere ein Zellinhalt ist, der innerhalb dieser Spalte beliebig oft vorkommen kann, und als Ergebnis mehrere Zeilenüberschriften zurückgeben.
In meinem Beispiel möchte ich in den Zellen B6 und B7 den Namen einer Frucht (die Spaltenüberschriften) und eine Qualität („gut“ oder „schlecht“) eingeben können und dann die Eigenschaften (Zeilenüberschriften) erhalten, die dieser Frucht und Qualität entsprechen. Wenn ich beispielsweise „Äpfel“ und „gut“ eingebe, möchte ich, dass „Aussehen“ und „Geschmack“ (und nicht „Preis“) zurückgegeben werden.
Ich habe Index Match schon einmal verwendet und gehört, dass man Array-Formeln verwenden kann, um mit Zellbereichen zu arbeiten. Aber ich kann nicht herausfinden, wie ich das alles kombinieren kann – insbesondere, weil alle Tutorials, die ich gefunden habe, sich damit befasst haben, wie man einen Zeilen- und einen Spaltenkopf abgleicht und die resultierende(n) Zelle(n) findet. Außerdem möchte ich keinen Verweis auf einen bestimmten Spaltenkopf „fest codieren“, weil ich vielleicht nicht immer „Äpfel“ abgleichen möchte.
Ich habe es mit einer Pivot-Tabelle versucht, aber das war nicht sehr elegant (meine echten Daten haben 5 „Qualitäts“-Elemente, nicht nur 2).
Screenshot der Beispieltabelle
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: | | | | |
----------------------------------------------------------
Antwort1
Dies ist eine Variante des Vorschlags von @Scott Craner, könnte aber für Sie funktionieren.
Ich habe Platzhalter für zusätzliche Qualitäten hinzugefügt. Setzen Sie diese Formel in B11 ein und ziehen Sie dann nach unten, um die Anzahl der Zeilen zu ermitteln, die Ihrer Anzahl an Qualitäten entsprechen.
=IF(INDEX($B2:$F2,,MATCH($B$8,$B$1:$F$1))=$B$9,$A2,"")
Wenn Ihnen das Aussehen von „Ergebnisse1“ nicht gefällt und Sie die Werte wirklich in einer Zelle haben möchten, fügen Sie diese Formel in B18 ein und verbergen Sie die Zeilen 11 bis 15.
=IF(B11="","",B11&"//") & IF(B12="","",B12&"//") & IF(B13="","",B13&"//") & IF(B14="","",B14&"//") & IF(B15="","",B15&"//")
Ersetzen Sie "//" durch ein beliebiges Trennzeichen.
Antwort2
Dadurch werden die Zellen durchlaufen und alle Zeilennummern zurückgegeben, die mit dem INDEX übereinstimmen, der dann den Wert zurückgibt.
Tragen Sie dies in B9 ein:
=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))),"")
Und kopieren Sie genügend, um alle Merkmale zu berücksichtigen.