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!
Antworten:
Hier ist eine Methode mit drei Hilfsspalten. Die Idee ist, dass Sie dann nach Zeilen mit Wert
1
in der dritten Hilfsspalte filtern können , um die gewünschten Zeilen zu erhalten.Erste Hilfsspalte (Spalte
C
in meinem Beispiel): Gibt die Anzahl der "Apple" -Einträge für diese Person an.Zweite Hilfsspalte (Spalte
D
): Gibt die Anzahl der Datensätze für diese Person an.Dritte Hilfsspalte (Spalte
E
): Gibt 1 für Personen zurück, die Ihren Kriterien entsprechen.Dann filtern Sie einfach nach dem
1
s in der SpalteE
.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.
quelle
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:
=A2&"###"&B2
in derA2
sich die erste Zelle befindet, die den Namen enthält,B2
die 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.)=(COUNTIF($C:$C,$A2&"###Apple") + COUNTIF($C:$C,$A2&"###Orange")) = COUNTIF($A:$A,$A2)
woC
sich die Spalte befindet, die Sie gerade in Schritt 1 hinzugefügt haben, undA
weiterhin die Spalte mit dem Namen und###
demselben Platzhalter, den Sie in Schritt 2 verwendet haben.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.
quelle