Ich versuche, eine lange Liste von URLs zu filtern, um einzugrenzen, an welchen ich interessiert bin. Ich habe meine URL-Liste in Google Spreadsheet und verwende das Filtertool, um Daten zu entfernen, die ich nicht möchte.
Momentan mit der Filtereinstellung: Nach Bedingung filtern, Text enthält keinen Text.
Dies funktioniert gut, aber bisher konnte ich dort nur den Wert für Eingang 1 einstellen. Dh pinterest
Was ich tun möchte, ist mehrere Werte in diese Box IE zu setzen. "pinterest" OR "facebook" OR "twitter"
oder so ähnlich pinterest, facebook, twitter
. Wie das Bild unten (obwohl, wenn ich dies ausführe, es überhaupt nicht filtert .. irgendwelche Ideen?
google-sheets
Sam
quelle
quelle
Antworten:
Sie können mit einem regulären Ausdruck filtern . Verwenden Sie die Optionen Nach Bedingung filtern> Benutzerdefinierte Formel ist ...
um nur die Zeichenfolgen zu sehen, die keine der oben genannten enthalten.
Hier ist N die Spalte, die Sie filtern, und der reguläre Ausdruck bedeutet: Die Zeichenfolge enthält Übereinstimmungen mit den Wörtern Facebook, Pinterest, Twitter und Groß- und Kleinschreibung. Und
not
ist die Negation davon.quelle
facebook|pinterest|twitter
wie würde das geschrieben werden? - Ich habe mir die anderen Regex-Funktionen angesehenRegexrepalce
undRegexextract
gemäß dem von Ihnen freigegebenen Google-Link, aber sie schienen nicht geeignet zu sein=not(regexmatch(...))
stattdessen .. Ich habe die Frage anfangs falsch verstanden.Und für diejenigen, die die Option "Benutzerdefinierte Formel" verwenden, müssen Sie wissen, dass die Formel auf der Zelle direkt unter dem Filter basiert. Wenn Sie also einen Filter in Zelle A1 haben, verwenden Sie A2 in der benutzerdefinierten Formel.
Hier ist ein Beispiel
= (A2 = $ C $ 1)
quelle
Das
REGEXMATCH()
funktioniert sicherlich, aber es ist schwer zu merken und nach meinen begrenzten Tests viel langsamer als einfach so etwas zu verwendenOR()
:Bei einem Blatt mit 250.000 Zellen und einem Filter mit 135 Zeichenfolgen (dies sind einfach die tatsächlichen Daten, die ich filtern wollte)
REGEXMATCH()
dauert das Filtern des Blattes 22 Sekunden, während dieOR()
Version etwa 3,5 Sekunden dauert.Das hat
REGEXMATCH()
sicherlich das Potenzial, viel komplexere und leistungsfähigere Suchvorgänge durchzuführen, sodass es sich lohnt, es zu wissen.Hinweis: In meinem Beispiel gehe ich davon aus, dass Sie in der ersten Zeile einen Header haben, sodass der Verweis auf die Daten in der Spalte
N
auf die zweite Zeile ausgerichtet ist (wo die tatsächlich zu filternden Daten beginnen).N2
(Danke an John Pratts Antwort oben!) . Wenn Sie keine Kopfzeile haben, verwenden SieN1
stattdessen einfach .In die gleiche Richtung; Diese Version der
REGEXMATCH()
Antwort von user79865 ist effizienter und dauert ungefähr 20 Sekunden (ungefähr 10% schneller) auf meinem Blatt, da sie nicht die gesamte Spalte verkettet undREGEXMATCH()
das Ergebnis für jede Zeile auf das Ergebnis anwendet .Der einzige Unterschied zur Antwort von user79865 besteht darin, dass diese Version
N2
anstelle vonN:N
(oderN1
wenn Sie keine Kopfzeile haben) verwendet.quelle