Erweiterte (?) Excel-Filterung

2

Zunächst möchte ich zugeben, dass ich nichts wirklich über Excel weiß, aber ich habe versucht, in Excel-Büchern und in Google eine Lösung dafür zu finden.

Folgendes versuche ich zu tun:

Ich habe eine sehr lange Tabelle. Es gibt insgesamt 7 Spalten, aber nur zwei Spalten, die mich am meisten interessieren. Hier ist eine CSV-Beispieldatei, die viel einfacher ist als mein tatsächlicher Datensatz, aber die Suche / Sortierung ist analog:

John, Apple
Dave, Apple
Dave, Orange
Steve, Apple
Steve, Orange
Steve, Kiwi
Bob, Apple
Bob, Banana

Ich möchte die gesamten Zeilen (alle Spalten) extrahieren, die die folgenden Kriterien erfüllen:

["Apple"] ODER ["Apple" und "Orange"] NICHT ["Apple" und "Orange" und alles andere ] NICHT ["Apple" und alles, was nicht Orange ist ]

Mit der obigen CSV würde ich also die gesamten Zeilen für John und Dave erhalten, aber nicht für Steve und nicht für Bob.

Ich habe damit manuell begonnen und werde wahrscheinlich fertig sein, wenn diese Frage beantwortet ist, aber ich würde dies gerne als zukünftige Referenz wissen.

Vielen Dank!

Taylor
quelle
Wenn Bob also zwei Zeilen mit Apple bzw. Banana hat, möchten Sie dann die Zeilen von Bob behalten?
Hervorragend
Was machst du mit der "extrahierten" Zeile? Ist es ein Ausschneiden und Einfügen? Ein Kopieren und Einfügen?
CharlieRB
@Excellll würde ich nicht. Ich möchte nur "Apple" oder "Apple and Orange" als Kombination.
Taylor
@CharlieRB Irgendetwas wirklich - Legen Sie es in ein neues Blatt oder schneiden Sie alles, was nicht passt. Muss nicht unbedingt eine Interaktion mit der Zwischenablage sein.
Taylor

Antworten:

0

Hier ist eine Methode mit drei Hilfsspalten. Die Idee ist, dass Sie dann nach Zeilen mit Wert 1in der dritten Hilfsspalte filtern können , um die gewünschten Zeilen zu erhalten.

Erste Hilfsspalte (Spalte Cin meinem Beispiel): Gibt die Anzahl der "Apple" -Einträge für diese Person an.

=COUNTIFS($A$1:$A$8,A1,$B$1:$B$8,"Apple")

Zweite Hilfsspalte (Spalte D): Gibt die Anzahl der Datensätze für diese Person an.

=COUNTIF($A$1:$A$8,A1)

Dritte Hilfsspalte (Spalte E): Gibt 1 für Personen zurück, die Ihren Kriterien entsprechen.

=IF(D1=1,IF(C1>0,1,0),IF(AND(D1=2,C1=1),IF(SUMPRODUCT(($A$1:$A$8=A1)*($B$1:$B$8="Orange"))=1,1,0),0))

Dann filtern Sie einfach nach dem 1s in der Spalte E.

Bildbeschreibung hier eingeben

Sie könnten diese Hilfsspalten bei Bedarf in eine einzige Hilfsspalte komprimieren, aber die Formel würde sich wiederholen und so gut wie unmöglich zu lesen sein.

Hervorragend
quelle
Danke, das sieht ziemlich direkt aus. Möglicherweise müssen Sie über das Wochenende mit dieser Methode experimentieren!
Taylor
0

Grundsätzlich muss die Anzahl der Apple- und Orange-Einträge für eine Person gleich der Anzahl aller Einträge für eine Person sein. Deshalb könnten Sie dies tun:

  1. Fügen Sie irgendwo in Ihrer Tabelle eine neue Spalte hinzu.
  2. Geben Sie die Formel ein, =A2&"###"&B2in der A2sich die erste Zelle befindet, die den Namen enthält, B2die erste Zelle, die die Frucht enthält, und ###ein Trennzeichen, das weder im Namen noch in der Fruchtspalte verwendet wird. (Wenn ###es dort verwendet wird, ersetzen Sie es einfach durch etwas anderes, das in diesen Spalten nicht zu finden ist.)
  3. Ziehen Sie diese Formel über die gesamte Spalte.
  4. Fügen Sie irgendwo in Ihrer Tabelle eine weitere Spalte hinzu.
  5. Geben Sie in die Formel ein, =(COUNTIF($C:$C,$A2&"###Apple") + COUNTIF($C:$C,$A2&"###Orange")) = COUNTIF($A:$A,$A2)wo Csich die Spalte befindet, die Sie gerade in Schritt 1 hinzugefügt haben, und Aweiterhin die Spalte mit dem Namen und ###demselben Platzhalter, den Sie in Schritt 2 verwendet haben.
  6. Ziehen Sie diese Formel auch über die gesamte Spalte.

Ergebnis: Alle "ungültigen" Zeilen sollten "FALSE" enthalten, alle "gültigen" Zeilen sollten "TRUE" enthalten.

Warnhinweis: Wenn Sie mit dem Löschen von Einträgen beginnen, wird "FALSE" möglicherweise zu "TRUE". Daher möchten Sie möglicherweise eine Kopie der gesamten Spalte erstellen, bevor Sie die Daten bearbeiten.

HTH.

Hauke ​​P.
quelle
Dies funktioniert natürlich nur unter der Annahme, dass jeder Name mindestens einen Apfel hat oder dass Namen, die nur Orangen enthalten, ebenfalls gültig sind.
Hauke ​​P.
Danke für Ihre Antwort! Das nächste Mal, wenn ich eine ähnliche Aufgabe ausführen muss, werde ich Ihre Methode ausprobieren :)
Taylor