2017-05-10 6 views
1

Ich habe eine Liste von Menschen, die zu zwei Gruppen gehören (A oder B). Ich möchte eine Spalte erstellen, die alle Personen auflistet, die zur Gruppe A gehören. Ich habe versucht, eine Array-Formel zu erstellen, aber ich habe kein funktionierendes Beispiel. Jede Hilfe wird geschätzt!Excel: Filter mit Formeln

Namen | Gruppe | Gewünschter Ausgang

Bob | A | Bob

Fred | B | Eric

Matt | B | Dave

Eric | A | Fred

Dave | A |
Eintopf | B |
Fred | A |

Vielen Dank im Voraus

Antwort

1

Normale Formel für die Spalte C:

C2= 
=IFERROR(INDEX(A:A,AGGREGATE(15,6,ROW(B:B)/(B:B="A"),ROW()-1)), "") 

Kopieren/Einfügen in Spalte C für eine ausreichende Anzahl von Zellen, nach unten.

Array Formel: Wählen Sie eine ausreichende Anzahl von Zellen in der Spalte C und die gleiche Formel in der Bearbeitungsleiste schreibt dann Ctrl+Shift+Enter

+0

Danke, ich habe es versucht, aber ich bekomme eine Division durch Null innerhalb der Zeilenfunktion. Der True/False-Array wird geladen, genau wie die Zeilenfunktion, aber die Division schlägt fehl. irgendwelche Ideen? – Freelancer

+0

hallo, ich habe diese eine zu arbeiten, indem Sie den Offset ändern. Allerdings benutze ich diese Formel oft und es verlangsamt mein ganzes Blatt, und es dauert eine lange Zeit zu bewerten, wenn ich versuche, es durchzugehen. Irgendwelche Ideen, wie man es effizienter machen kann. Ich habe versucht, den Bereich zu verkleinern, indem ich eine Bereichsreferenz anstelle der gesamten Spalte verwende, aber ich kann es nicht zum Funktionieren bringen. – Freelancer

+0

@ Freelancer versuchen Sie es wie folgt: '= IFERROR (INDEX ($ A $ 1: $ A $ 100, AGGREGATE (15,6, ROW ($ B $ 1: $ B $ 100)/($ B $ 1: $ B $ 100 =" A "), ROW() - 1)), "") '. Versuchen Sie auch nicht, es in eine zu große Anzahl von Zellen zu setzen, was ausreicht, um alle Treffer zu erhalten. –

1

Von diesem

+---+-------+-------+ 
| | A | B | 
+---+-------+-------+ 
| 1 | Name | Group | 
| 2 | Nick | A  | 
| 3 | Marc | A  | 
| 4 | Manny | B  | 
| 5 | Luck | A  | 
+---+-------+-------+ 

können Sie zwei Pivot-Tabellen mit Namen in der Zeilenbeschriftung und Gruppen in den Filterdaten erstellen. Dann können Sie nur Personen filtern, die von der Gruppe abhängen.

+---+-------------------+---+ 
| |   A   | B | 
+---+-------------------+---+ 
| 1 | Group    | A | 
| 2 |     | | 
| 3 | Etichette di riga | | 
| 4 | Luck    | | 
| 5 | Marc    | | 
| 6 | Nick    | | 
+---+-------------------+---+ 
+1

dank drücken, aber ich muß es dynamisch auf später verweisen. Ich brauche Zellen, um keine Pivot-Tabelle zu referenzieren – Freelancer

0

Also, wenn Sie Ihre Daten in Reichweite ist A1:B7 dies würde die Formel:

=IFERROR(INDEX($A$1:$A$7,SMALL(IF($B$1:$B$7="A",ROW($A$1:$A$7)-ROW($A$1)+1),ROWS($A$1:A1))),"") 

Dies ist Matrixformel, die mit Ctrl + Shift + Enter angewendet wird, und Sie werden es nach unten ziehen müssen.

+0

danke, wenn ich dies versuche, bekomme ich nur den gleichen Wert im gesamten Formel-Array, die erste Zeile gefüllt. irgendwelche Ideen? – Freelancer

+0

Können Sie bestätigen, dass Sie es mit 'Strg' +' Shift' + 'Enter' angewendet haben. Weil Ihr Problem nur dann auftritt, wenn Sie nur 'Enter' verwenden. – zipa