Registriert seit: 11.07.2017
Version(en): 2010
Hallo,
eine kurze FRage,
ich habe eine Große Liste und versuche diese zu Filtern.
Das sieht als kleines beispuel so aus,
Nr. Ort. 1234 FB 7890 XL 1234 SG 1234 PR 7639 SG
Ich möchte nun alle Nr. haben die nicht in Ort FB und XL vorkommen. Würde also Ort FB rausfiltern. Nr. 1234 liegt aber zugleich noch bei zwei anderen Orten. Hier SG und PR. Und diese Zeilen sollen dann auch mit raus. Also ist die Nr. in FB oder XL Vorhanden, fliegt diese komplett aus der Liste mit allen anderen Orten die es dazu evtl. noch gibt. Bekomme das nur sehr umständlich hin. Und die Liste ist dafür zu Groß. Ideen?
Danke
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
Hi, deine Nummern sind in Spalte A, die Orte in B? Dann schaffe ein Hilfsspalte mit Formel und filtere nach dieser.
Gruß Günter Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen. angebl. von Georg Christoph Lichtenberg (1742-1799)
Registriert seit: 11.07.2017
Version(en): 2010
Hallo,
damit hätte ich dann etwa:
A B C Nr. Ort. Hilfsspalte 1234 FB 1234FB 7890 XL 7890XL 1234 SG 1234SG 1234 PR 1234PR 7639 SG 7639SG
Aber ich sehe noch nicht wie mir das hilft. Wenn 1234 in FB Vorkommt auch alle anderen 1234 zu entfernen. Wenn ich nun Nummern finden will, die nicht im FB oder XL Vorkommen. Übrig bleiben dürfte dann am Beispiel nur 7639 in SG
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
Hi, ja, ich hatte dich missverstanden - mein Vorschlag passt natürlich nicht. Allerdings erschließt sich mir auch die zweite Erklärung (noch) nicht ganz. Du schreibst: Zitat:Wenn 1234 in FB Vorkommt auch alle anderen 1234 zu entfernen. Was ist, wenn 1234 nicht in FB vorkommt? Bleibt dann diese Zeile ungefiltert und sollen dann die anderen ebenfalls erhalten bleiben? Oder sollen trotzdem alle weggefiltert werden, die nicht in FB und XL vorkommen? Vielleicht erklärst du besser an einem realen Beispiel, was du eigentlich erreichen willst. Ich denke, deine Zahlen in Verbindung mit den Buchstabenkombinationen sind reine Platzhalter für dein eigentliches Problem.
Gruß Günter Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen. angebl. von Georg Christoph Lichtenberg (1742-1799)
Registriert seit: 16.08.2017
Version(en): 2007 / 2010 / Web
Hi
Würde ich mit dieser Hilfsspalte Versuchen. ____|____A___|___B__|_C_|_D_| 1|Filter | | | | 2|FB |XL | | | 3| | | | | 4|Nr. |Ort. | | | 5| 1234|FB | 1| | 6| 7890|XL | 1| | 7| 2000|PR | 0| | 8| 1234|PR | 1| | 9| 7639|SG | 0| | 10| 7890|PR | 1| | 11| 5892|FB | 1| | 12| 1234|SG | 1| | C5 =ZÄHLENWENNS($B$5:$B$12;$A$2;$A$5:$A$12;A5)+ZÄHLENWENNS($B$5:$B$12;$B$2;$A$5:$A$12;A5) 'nach unten kopieren Und jetzt nach Spalte C = 0 Filtern
Registriert seit: 11.07.2017
Version(en): 2010
(08.03.2018, 23:43)WillWissen schrieb: Hi,
ja, ich hatte dich missverstanden - mein Vorschlag passt natürlich nicht.
Allerdings erschließt sich mir auch die zweite Erklärung (noch) nicht ganz. Du schreibst:
Was ist, wenn 1234 nicht in FB vorkommt? Bleibt dann diese Zeile ungefiltert und sollen dann die anderen ebenfalls erhalten bleiben? Oder sollen trotzdem alle weggefiltert werden, die nicht in FB und XL vorkommen?
Vielleicht erklärst du besser an einem realen Beispiel, was du eigentlich erreichen willst. Ich denke, deine Zahlen in Verbindung mit den Buchstabenkombinationen sind reine Platzhalter für dein eigentliches Problem. Hallo, richtig das sind nur Platzhalter. Sollte aber gut zeigen was ich meine. Die Datenliste ist um einiges Größer. ca 200.000 zeilen. Und ich möchte wissen, was nicht In bestimmten Orten vorkommt. Also muss alles was bereits vorkommt, rausgefiltert werden. Kommt 1234 in FB vor, fällt es komplett aus der Liste. egal an welchen orten es sonst noch vorkommt. Gibt es 1234 nicht in FB bleiben alle anderen 1234 erhalten.
Registriert seit: 11.07.2017
Version(en): 2010
(09.03.2018, 00:02)Elex schrieb: Hi
Würde ich mit dieser Hilfsspalte Versuchen. ____|____A___|___B__|_C_|_D_| 1|Filter | | | | 2|FB |XL | | | 3| | | | | 4|Nr. |Ort. | | | 5| 1234|FB | 1| | 6| 7890|XL | 1| | 7| 2000|PR | 0| | 8| 1234|PR | 1| | 9| 7639|SG | 0| | 10| 7890|PR | 1| | 11| 5892|FB | 1| | 12| 1234|SG | 1| | C5 =ZÄHLENWENNS($B$5:$B$12;$A$2;$A$5:$A$12;A5)+ZÄHLENWENNS($B$5:$B$12;$B$2;$A$5:$A$12;A5) 'nach unten kopieren Und jetzt nach Spalte C = 0 Filtern Hallo, ja das könnte ein Ansatz sein. ich Probiere das mal aus. Gäbe es vielleicht auch eine möglichkeit mit Pivot Table?
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
Hi, ich denke, dass bei 200.000 Zeilen eine PT nicht (mehr) das erste Mittel der Wahl ist. Ich würde es folgendermaßen filtern: Arbeitsblatt mit dem Namen 'Tabelle2' | | A | B | C | D | E | 1 | Nr. | Ort. | | 1234 | FB | 2 | 1234 | FB | x | | | 3 | 7890 | XL | | | | 4 | 1234 | SG | | | | 5 | 1234 | PR | | | | 6 | 7639 | SG | | | |
Zelle | Formel | C2 | =WENN(UND(A2=$D$1;B2=$E$1);"x";"") |
Verwendete Systemkomponenten: [Windows (32-bit) NT :.00] MS Excel 2013 | Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg |
Wenn die verlangte Kombination vorhanden ist, nach "x" wegfiltern; danach nach Spate A filtern. Falls die Kombi nicht auftritt, brauchst du ja auch nichts weiteres mehr filtern - es bleibt alles beim alten.
Gruß Günter Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen. angebl. von Georg Christoph Lichtenberg (1742-1799)
Registriert seit: 06.12.2015
Version(en): 2016
@Günter müßte es nicht "oder" sein Code: =WENN(oder(A2=$D$1;B2=$E$1);"x";"")
Gab es Versuche mit "Autofilter"? Zuerst in Spalte B nach "Fb" und "Xl" filtern, dann alle Codes in Spalte A auslesen. Im dritten Schritt alle Zeilen mit den gefundenen Codes löschen. mfg
Registriert seit: 06.12.2015
Version(en): 2016
Hallo, für das gezeigte Beispiel geht: Code: Sub F_en() Dim DD As Object Set DD = CreateObject("Scripting.Dictionary") For i = 2 To 6 DD.Item(CStr(Cells(i, 1))) = vbNullString Next i With Cells(1).CurrentRegion .AutoFilter 2, "FB", xlOr, "XL" ar = .Offset(1).Columns(1).SpecialCells(12) For Each r In ar 'Debug.Print r If DD.exists(CStr(r)) Then DD.Remove CStr(r) Next r arr = DD.keys
'Debug.Print Join(DD.keys, ", ") .AutoFilter .AutoFilter Field:=1, Criteria1:=Array(arr), Operator:=xlFilterValues .Copy Sheets(2).Cells(1, 1) .AutoFilter End With
End Sub
Das Ergebnis wird nach Sheet(2) geschrieben. mfg
|