Auf Kriterien basierende Werte auflisten

Auf Kriterien basierende Werte auflisten

Ich habe eine Tabelle auf einem Arbeitsblatt namens „DealSetup“, die wie diese vereinfachte Version aussieht:

   A           B
1  John Doe    1
2  Jane Doe    1
3  Mark Doe    2
4  Doug Doe    1
5  Mary Doe    2

Ich habe eine Tabelle auf einem Arbeitsblatt namens „Liste“, in die ich die Namen aus dem Arbeitsblatt „DealSetup“ ziehen möchte. Ich möchte die Namen jedoch nur basierend auf dem Wert in Spalte B auflisten.

Beispielsweise möchte ich im Arbeitsblatt „Liste“ eine Art INDEX- oder Array-Funktion verwenden, um das Blatt „DealSetup“ zu durchsuchen und alle Elemente, deren Wert in Spalte B 1 ist, herauszuziehen und aufzulisten. Ich möchte jedoch keine Leerzeichen. Es sollte so aussehen:

 EVERYONE WITH B COLUMN VALUE OF 1:  
   A  
1  John Doe
2  Jane Doe
3  Doug Doe

Oder so:

 EVERYONE WITH B COLUMN VALUE OF 2:  
   A  
1  Mark Doe
2  Mary Doe

Ich habe ein paar Dinge ohne Erfolg ausprobiert. Ich bin mir nicht sicher, wie es jetzt weitergehen soll, daher wäre ich für jeden Input dankbar!!

Antwort1

Vorausgesetzt, Ihre Daten sind in DealSetup!A$2:B$6können Sie diese Formel verwenden inList!A2

=IFERROR(INDEX(DealSetup!A$2:A$6,SMALL(IF(DealSetup!B$2:B$6=C$1,ROW(DealSetup!A$2:A$6)-ROW(DealSetup!A$2)+1),ROWS(A$2:A2))),"")

CTRLmit + SHIFT+ bestätigen ENTERund soweit wie nötig nach unten und weiter kopieren. Wenn die Namen ausgehen, bleiben Leerzeichen.

Nimmt Kriterien (1,2 usw.) inC1

siehe AnhangArbeitsmappe- versuchen Sie, C1auf 2 zu ändern

Wenn sich Namen wiederholen (innerhalb der angegebenen Kriterien), werden die Namen wiederholt angezeigt. Die Formel kann so angepasst werden, dass jeder Name nur einmal angezeigt wird. Diese Version

=IFERROR(INDEX(DealSetup!A$2:A$6,SMALL(IF(DealSetup!B$2:B$6=C$1,IF(COUNTIF(A$1:A1,DealSetup!A$2:A$6)=0,ROW(DealSetup!A$2:A$6)-ROW(DealSetup!A$2)+1)),1)),"")

Antwort2

Wenn Sie eine Lösung mit Formeln möchten, werden Sie unten Leerzeichen haben. Es gibt keine Möglichkeit, die Zellen mit der Formel wachsen und schrumpfen zu lassen, wenn sich Ihre Liste ändert. Ihre Tabelle mit Formeln sollte dieselbe Höhe wie Ihre Rohdaten haben, um sicherzustellen, dass Sie nichts übersehen, wenn beispielsweise jeder ein 1in der Spalte hat B. Wenn Sie wissen, dass dies nie der Fall sein wird, können Sie die Anzahl der Zeilen im ListArbeitsblatt reduzieren, aber das ist ein Risiko. Hier ist eine Formel, die sie alle in der richtigen Reihenfolge mit Leerzeichen unten zurückgibt. Es ist eine Array-Formel, also geben Sie sie mit Ctrl+ Shift+ ein Enter: (Barry Houdini hat bereits eine ähnliche Lösung eingereicht)

{=IFERROR(INDEX(DealSetup!$A:$A,SMALL(IF(DealSetup!$B:$B=1,ROW(DealSetup!$B:$B)),ROW())),"")}

Wenn Sie unten keine Leerzeichen akzeptieren, muss es entweder eine PivotTable- oder VBA-Lösung sein. Diese Frage ist ziemlich alt, daher erwarte ich leider nicht, dass OP hier bald wieder auftaucht.

verwandte Informationen