Fortgeschratt Filter an e puer Magie

Fir déi grouss Majoritéit vun Excel Benotzer, wann d'Wuert "Datefilter" an hirem Kapp opkënnt, nëmmen de übleche klassesche Filter vun der Tab Daten - Filter (Daten - Filter):

Fortgeschratt Filter an e puer Magie

Esou e Filter ass eng vertraute Saach, ouni Zweifel, a fir déi meescht Fäll wäert et maachen. Wéi och ëmmer, et ginn Situatiounen wou Dir musst duerch eng grouss Zuel vu komplexe Konditiounen a verschiddene Kolonnen gläichzäiteg filteren. Den übleche Filter hei ass net ganz bequem an ech wëll eppes méi staark. Sou en Tool kéint sinn fortgeschratt Filter, virun allem mat e bëssen "mat engem Fichier ofschléissen" (Laut Traditioun).

Basis

Fir unzefänken, setzt e puer eidel Zeilen iwwer Är Datetabelle a kopéiert den Tabellkopf do - dëst wäert e Beräich mat Konditioune sinn (giel markéiert fir Kloerheet):

Fortgeschratt Filter an e puer Magie

Et muss op d'mannst eng eidel Linn tëscht de giel Zellen an der Original Dësch ginn.

Et ass an de gielen Zellen datt Dir d'Critèrë (Konditioune) aginn musst, no deenen d'Filterung dann duerchgefouert gëtt. Zum Beispill, wann Dir Bananen am Moskauer "Auchan" am III Quartier auswielen musst, da wäerte d'Konditioune sou ausgesinn:

Fortgeschratt Filter an e puer Magie

Fir ze filteren, wielt all Zell am Beräich mat de Quelldaten, öffnen d'Tab Daten An klickt op Zousätzlech (Daten - Fortgeschratt). An der Fënster déi opmaacht, soll schonn automatesch e Beräich mat Daten agefouert ginn a mir mussen nëmmen d'Band vun de Konditioune spezifizéieren, also A1:I2:

Fortgeschratt Filter an e puer Magie

Notéiert w.e.g. datt d'Band vun de Konditioune net "mat enger Marge" zougewisen ka ginn, dh Dir kënnt keng extra eidel giel Linnen auswielen, well eng eidel Zelle am Beräich vun de Konditioune vun Excel als Fehlen vun engem Critère ugesi gëtt, an eng ganz eidel Linn als Ufro fir all d'Donnéeën ondifferenzéiert ze weisen.

Bestëmmt Kopéiert d'Resultat op eng aner Plaz erlaabt Iech d'Lëscht net direkt op dësem Blat ze filteren (wéi mat engem reguläre Filter), awer fir déi gewielte Reihen an eng aner Gamme ze entluede, déi dann am Feld spezifizéiert musse ginn Setzt d'Resultat am Beräich. An dësem Fall benotze mir dës Funktioun net, mir verloossen Filter Lëscht op der Plaz a klickt op OK. Déi gewielte Reihen ginn um Blat ugewisen:

Fortgeschratt Filter an e puer Magie

E Macro derbäisetzen

"Ma, wou ass d'Bequemlechkeet hei?" Dir frot an Dir wäert Recht hunn. Net nëmmen musst Dir Konditiounen an déi giel Zellen mat Ären Hänn aginn, awer och eng Dialogbox opmaachen, do Reihen aginn, dréckt OK. Traureg, ech averstanen! Awer "alles ännert sech wann se kommen ©" - Makroen!

D'Aarbecht mat engem fortgeschratt Filter kann immens beschleunegt a vereinfacht ginn mat engem einfachen Makro, deen automatesch den fortgeschrattene Filter leeft wann d'Konditioune aginn, dh all giel Zell z'änneren. Riets-klickt op den Tab vum aktuellen Blat a wielt de Kommando Quelltext (Source Code). An der Fënster déi opmaacht, kopéiert a paste de folgende Code:

Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A2:I5")) Is Nothing Then On Error Resume Next ActiveSheet.ShowAllData Range("A7").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, Criteria :=Range("A1").CurrentRegion End If End Sub  

Dës Prozedur wäert automatesch lafen wann all Zell am aktuellen Aarbechtsblat geännert gëtt. Wann d'Adress vun der geännerter Zell an de giele Beräich fällt (A2:I5), da läscht dëse Makro all Filteren (wann iwwerhaapt) an setzt den erweiderten Filter op d'Quelldatentabelle vun A7 un, dh alles gëtt direkt gefiltert, direkt nodeems Dir déi nächst Konditioun aginn hutt:

Also alles ass vill besser, richteg? 🙂

Ëmsetzung vun komplexe Ufroen

Elo datt alles op der Flucht gefiltert gëtt, kënne mir e bësse méi déif an d'Nuancen goen an d'Mechanismen vu méi komplexen Ufroen am fortgeschrattem Filter ofbauen. Zousätzlech fir exakt Matcher anzeginn, kënnt Dir verschidde Wildcard Charaktere benotzen (* an ?) A mathematesch Ongläichheetszeechen an enger Rei vu Konditiounen fir eng geschätzte Sich ëmzesetzen. De Charakter Fall ass egal. Fir Kloerheet hunn ech all méiglech Optiounen an enger Tabell zesummegefaasst:

Critère Resultat
gr* oder gr all Zellen ugefaange mat GrIe GrOuer, Grapfruit, Granat etc.
= Zwiebel all Zellen genee an nëmme mam Wuert Wouerechten, dh genee Match
*liv* oder *liv Zellen enthalen liv wéi ënnersträichen, d.h Оlivdatt, livep, lautliv etc.
=p*v Wierder ugefaange mat П an ophalen mat В ie Пéischtenв, ПEtherв etc.
an*s Wierder ugefaange mat А a weider enthalen СIe АHautсin, Аnanaс, Asai etc.
=*s Wierder déi op enden С
=???? all Zellen mat Text vu 4 Zeechen (Buschtawen oder Zuelen, inklusiv Raum)
=m???? n all Zellen mat Text vun 8 Zeechen ugefaange mat М an ophalen mat НIe Мandariн, МBesuergnëssн  etc.
=*n??a all Wierder déi mat ophalen А, wou ass de 4. Buschtaf vum Enn НIe hëlzeнikа, lautнozа etc.
>=e all Wierder ugefaange mat Э, Ю or Я
<>*o* all Wierder déi kee Bréif enthalen О
<>*vich all Wierder ausser déi, déi op enden HIV (zum Beispill, Frae mam Mëttelnumm filteren)
= all eidel Zellen
<> all net eidel Zellen
> = 5000 all Zellen mat engem Wäert méi wéi oder gläich wéi 5000
5 oder =5 all Zellen mat Wäert 5
>=3/18/2013 all Zellen mat engem Datum nom 18. Mäerz 2013 (inklusiv)

Subtile Punkten:

  • D'Zeechen * bedeit all Zuel vun all Zeechen, an ? - all Charakter.
  • D'Logik beim Veraarbechtung vun Text an numeresch Ufroen ass liicht anescht. Also, zum Beispill, eng Bedingungszelle mat der Nummer 5 heescht net all Zuelen ze sichen déi mat fënnef ufänken, awer eng Bedingungszelle mam Buschtaf B ass gläich wéi B*, also sicht no all Text, deen mam Buschtaf B ufänkt.
  • Wann d'Text Ufro net mam = Zeechen ufänkt, da kënnt Dir mental * um Enn setzen.
  • Datumer mussen am US Format Mount-Dag-Joer an duerch eng Fraktioun aginn ginn (och wann Dir Excel a regional Astellungen hutt).

Logesch Verbindungen AN-ODER

Bedéngungen, déi a verschiddenen Zellen geschriwwe sinn, awer an der selwechter Linn, ginn als vun engem logesche Bedreiwer matenee verbonnen И (AN):

Fortgeschratt Filter an e puer Magie

Déi. Filter Bananen fir mech am drëtten Trimester, genee zu Moskau a gläichzäiteg aus Auchan.

Wann Dir Konditioune mat engem logesche Bedreiwer verbannen musst OR (ODER), da musse se just a verschiddene Linnen agefouert ginn. Zum Beispill, wa mir all Uerder vum Manager Volina fir Moskau Peaches an all Uerder fir Zwiebelen am drëtten Trimester zu Samara fannen, da kann dat an enger Rei vu Konditioune wéi follegt spezifizéiert ginn:

Fortgeschratt Filter an e puer Magie

Wann Dir zwee oder méi Konditiounen op eng Kolonn muss opsetzen, da kënnt Dir einfach de Kolonn Header am Critèreberäich duplizéieren an déi zweet, drëtt, etc. Begrëffer. Also, zum Beispill, kënnt Dir all Transaktioune vu Mäerz bis Mee auswielen:

Fortgeschratt Filter an e puer Magie

Am Allgemengen, nodeems "mat enger Datei fäerdeg" ass, kënnt en erweiderten Filter als e ganz uerdentlecht Tool eraus, op e puer Plazen net méi schlëmm wéi e klassesche Autofilter.

  • Superfilter op Makroen
  • Wat sinn Makroen, wou a wéi een Makrocode a Visual Basic setzt
  • Smart Dëscher an Microsoft Excel

Hannerlooss eng Äntwert