Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1824to1828
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Textfilter in Powerquery

Textfilter in Powerquery
11.04.2021 11:21:46
Christian
Hallo,
wie kann ich in PQ den Textfilter so einsetzen, dass alle Texte gefiltert werden die mit einer Ordnungszahl zwischen 1 und 11549 beginnen?
Texte, die eine Ornungszahl beinhalten, jedoch nicht mit einer Ordnungszahl beginnen sollen nicht gefiltert werden.
Die Ordnungszahlen zu Beginn der Texte haben einen Punkt als 1.000er Trennung.
https://www.herber.de/bbs/user/145451.xlsx
Wie kann ich das Problem lösen?
Danke
Christian

26
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
habe eine Idee wie man das Problem lösen könnte...
11.04.2021 12:06:28
Christian
meine Excel Kenntnisse reichen nur leider nicht aus, um es umzusetzen.
Wenn ich eine benutzerdefinierte Spalte anlege, in der WAHR steht wenn mindestens eine der folgenden Bedingungen erfüllt ist und FALSCH wenn keine der Bedingungen erfüllt ist:
1. Der Text enthält keine Leerzeichen
2. Vor dem ersten Leerzeichen steht etwas anderes als ein Punkt
3. Der Text beginnt mit etwas anderem als eine Ziffer 0 bis 9.
Dann könnte ich nach falsch Filtern und mein Problem ist gelöst.
Gruß
Christian
Geduld ....
11.04.2021 12:24:59
ralf_b
..ist eine Tugend. Die PQ Spezies sind scheinbar noch nicht zum Sonntagsdienst! erschienen. Es ist echt schlimm sowas.
Anzeige
AW: Geduld ....
11.04.2021 12:29:58
Christian
Hallo Ralf,
PQ war ja nur mein Vorschlag.
Eine Hilfsspaltenlösung mit einer Formel ohne PQ, die meinen Lösungsvorschlag umsetzt, würde mein Problem ja genauso lösen.
Hatte nur an PQ gedacht, weil ich die Tabelle vorher entpivotiere. Dann hätte man das in einem Abwasch machen können.
Gruß
Christian
AW: geht sicherlich auch mit PQ pur, doch ...
11.04.2021 12:49:32
neopa
Hallo Christian,
... da würde zumindest ich mich jetzt schwer tun, wie ich nachfolgende Hilfsspaltenformellösung in einer benutzerdefinierten Spalte umsetzen könnte. Wahrscheinlich sollte man dort mit mehreren benutzerdefinierten Spalten arbeiten.
Hier (m)eine reine Hilfsspaltenformel nach dessen Ergebniswert 0 bzw. 1 gefiltert werden kann. In B1:

=WENN(NICHT(ISTFEHL(FINDEN(".";A2)+LINKS(A2;1)))*(RECHTS(A2;1)".");(AGGREGAT(14;6; --TEIL(WECHSELN(A2;".";"");1;ZEILE(A$2:A$7));1)&lt11949)*(WENN(AGGREGAT(14;6;--TEIL(WECHSELN(A2;"."; "");1;ZEILE(A$2:A$7));1)&gt999;LÄNGE(A2)-LÄNGE(WECHSELN(A2;".";""))=2;1));0)

und nach unten kopieren.
Gruß Werner
.. , - ...
Anzeige
AW: geht sicherlich auch mit PQ pur, doch ...
11.04.2021 13:02:34
Christian
Hallo Werner,
ich kann leider nicht nachvollziehen, weshalb es so ist.
Aber es gibt in der Orginialtabelle folgende Zeilen:
1-100 of 11,949 names. | « Previous | Next »
101-200 of 11,949 names. | « Previous | Next »
201-300 of 11,949 names. | « Previous | Next »
301-400 of 11,949 names. | « Previous | Next »
immer weiter in 100er Schritten. Bei diesen Zeilen gibt deine Formel ebenfalls 1 aus. Ansonsten scheint es auf den ersten Blick zu passen.
Wenn diese die Formel so gändert ist dass sie in diesen Zeilen 0 ausgibt, kann ich ja mal die Summe der einsen schauen ob sie mit dem übereinstimmt, was rauskommen soll, dann sehen wir ja, ob auch der Rest der Formel passt.
Gruß
Christian
Anzeige
AW: da sind jetzt aber ganz andere Datenwerte ...
11.04.2021 13:25:47
neopa
Hallo Christian,
... meine Formel hab ich aufgestellt für Deine in der Beispieldatei aufgestellte Datenwerte und Bedingungen und hab ich eben nochmals etwas "nachgeschärft" für einen Datenwert wie nach folgend in A13.
Die nachfolgend aufgezeigte Formel nach unten kopieren:
 AB
14FALSCH
24 abcFALSCH
3abc defFALSCH
4abc 1. defFALSCH
51.FALSCH
61. abcWAHR
710.500. abcWAHR
812.000. abcFALSCH
911948. abcFALSCH
10999.defWAHR
111000. abcFALSCH
121.000. abcWAHR
131.11.abcFALSCH
14  

ZelleFormel
B1=WENN(NICHT(ISTFEHL(FINDEN(".";A1)+LINKS(A1;1)))*(RECHTS(A1;1)>".");(AGGREGAT(14;6;--TEIL(WECHSELN(A1;".";"");1;ZEILE(A$1:A$6));1)11949)*(WENN(AGGREGAT(14;6;--TEIL(WECHSELN(A1;".";"");1;ZEILE(A$1:A$6));1)>999;LÄNGE(A1)-LÄNGE(WECHSELN(A1;".";""))=2;LÄNGE(A1)-LÄNGE(WECHSELN(A1;".";""))=1));0)=1
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.02] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Gruß Werner
.. , - ...
Anzeige
AW: da sind jetzt aber ganz andere Datenwerte ...
11.04.2021 13:45:30
Christian
Hallo Werner,
sorry dachte mit dem beispiel mit Zeile 3 hätte ich allgeemein gesagt, dass nur Zeilen stehen bleiben sollen, die eine Ordnungszahl enthalten und mit Zeile 4 es noch weiter eingeschränkt, dass die Zeile mit einer Ordnungszahl beginnen soll. Wenn es da zu Misverständnissen kam tut es mir leid.
Aber ich habe es auch nicht geschafft, diese Formel zu testen.
Ich bekomme zwar keine Fehlermeldung, aber wenn ich
=WENN(NICHT(ISTFEHL(FINDEN(".";A2)+LINKS(A2;1)))*(RECHTS(A2;1)".");(AGGREGAT(14;6; --TEIL(WECHSELN(A2;".";"");1;ZEILE(A$1:A$6));1)11949)*(WENN(AGGREGAT(14;6; -- TEIL(WECHSELN(A2;".";"");1;ZEILE(A$1:A$6));1)>999;LÄNGE(A2)-LÄNGE(WECHSELN(A2;".";""))=2;LÄNGE(A2) -LÄNGE(WECHSELN(A2;".";""))=1));0) =1
eingebe, fragt man mich ob ich überhaupt eine Formel eingeben wollte
Hab A1 zu A2 geändert, ich weiß.
Gruß
Christian
Anzeige
vergess die Nachricht direkt davor
11.04.2021 13:48:42
Christian
da habe ich direkt bevor ich sie abgesendet hatte ein Problem beheben können und wollte dann die Nachricht entsprechend ändern, habe dabei aber vergesse die zeile zu löschen, in der ich geschrieben hatte dass ich keine Fehlermeldung erhalte, hier nun die passende Nachricht:
Hallo Werner,
sorry dachte mit dem beispiel mit Zeile 3 hätte ich allgeemein gesagt, dass nur Zeilen stehen bleiben sollen, die eine Ordnungszahl enthalten und mit Zeile 4 es noch weiter eingeschränkt, dass die Zeile mit einer Ordnungszahl beginnen soll. Wenn es da zu Misverständnissen kam tut es mir leid.
Aber ich habe es auch nicht geschafft, diese Formel zu testen.
wenn ich
=WENN(NICHT(ISTFEHL(FINDEN(".";A2)+LINKS(A2;1)))*(RECHTS(A2;1)".");(AGGREGAT(14;6; --TEIL(WECHSELN(A2;".";"");1;ZEILE(A$1:A$6));1)11949)*(WENN(AGGREGAT(14;6; -- TEIL(WECHSELN(A2;".";"");1;ZEILE(A$1:A$6));1)>999;LÄNGE(A2)-LÄNGE(WECHSELN(A2;".";""))=2;LÄNGE(A2) -LÄNGE(WECHSELN(A2;".";""))=1));0) =1
eingebe, fragt man mich ob ich überhaupt eine Formel eingeben wollte
Hab A1 zu A2 geändert, ich weiß.
Gruß
Christian
Anzeige
aber habe es jetzt einfach so gelöst
11.04.2021 13:53:37
Christian

=WENN(RECHTS(A2;2)=">>";deine erste Formel;0)

Texte die mit einer Ordnungszahl beginnen und auf >> enden kommen nicht vor, daher ging das.
Gruß
Christian
AW: welche Datenwerte sind denn auszuwerten ...
11.04.2021 13:59:23
neopa
Hallo Christian,
... stelle also eine Datei mit entsprechenden Datenwerte ein, zu denen Du für 3-5 Dein angestrebtes Zielergebnis in der Hilfsspalte aufzeigst. Dann sehe ich es mir noch einmal an.
Gruß Werner
.. , - ...
AW: welche Datenwerte sind denn auszuwerten ...
11.04.2021 14:09:13
Christian
Hallo Werner, meinte natürlich
=WENN(RECHTS(A2;2)=">>";0;deine erste Formel).
Danke für dein liebes Angebot. Wenn ich das jetzt annehme, bedeutet das ich müsste 100.000 Zeilen durchforsten nach allen möglichen Eventualitäten, ob da noch irgendetwas sein könnte, was deine Formel stört. Das fällt mir alleine schon deshalb sehr schwer, weil ich deine Formel nicht zu 100% nachvollziehen kann.
Ich habe ja jetzt eine funktionierende Formel, auch wenn sie vielleicht nicht ganz dem Standard entspricht, den du dir selbst setzt und mir deshalb anbietest, nochmal nachzubessern.
Ich werde jetzt diese Formel nutzen, sie erfült meine Zwecke und vielen Dank fü die Mühe die du dir gegeben hast, du hast ja trotzdem den Löwenanteil an der Formel geleistet.
Gruß
Christian
Anzeige
AW: hast Du schon getestet? ...
11.04.2021 14:21:33
neopa
Hallo Christian,
... und zwar wie lange Dein PC benötigt, um angegebenen 100.000 Datenwerte mit der Formel auszuwerten? Ist es denn noch akzeptabel? Wenn es nur selten gebraucht wird kann es ja evtl. noch akzeptabel sein. Aber bevor Du dann filterst solltest Du schon die Formelergebnisse durch ihren ermittelten Ergebniswert ersetzen. Anderenfalls sollte die Hilfsformellösung wirklich durch eine PQ-Lösung ersetzt werden.
Gruß Werner
.. , - ...
AW: hast Du schon getestet? ...
11.04.2021 14:31:37
Christian
Hallo Werner,
das hat keine zwei Sekunden gedauert.
Spielte aber auch eher eine untergeordnete Rolle, da es mir darum ging, die Zeilen die stehen bleiben (eben genau 11949) an eine andere Stelle zu kopieren und dieses Blatt wieder zu löschen. Und mir die Lösung irgendwo zu speichern, weil ich das ganze wöchentlich wiederholen wollte
Gruß
Christian
Anzeige
AW: gut zu wissen, dann belasse es dabei owT
11.04.2021 14:49:58
neopa
Gruß Werner
.. , - ...
oder...
11.04.2021 14:22:25
Christian
falls du doch nchmal eine Formel erstellen wilst.
Versuch es bitte mal damit, unabhängig der Beispieldatei eine Formel zu erstellen, die meinem zweiten Vorschlag entspricht, also 1 ausgibt, wenn mindestens eine dieser Bedingungen erfüllt ist und 0 wenn keine dieser Bedingungen erfüllt ist.
1. Der Text enthält keine Leerzeichen
2. Vor dem ersten Leerzeichen steht etwas anderes als ein Punkt
3. Der Text beginnt mit etwas anderem als eine Ziffer 0 bis 9.
Ich habe bislang keinen Datensatz in den 100.000, gefunden, bei dem das nicht funktionieren würde. Dann könnte ich nach 0 filtern und hätte die Zeilen die ich brauche. Die einzige Ausnahme wäre dann die Zahlen größer 11949, die Zeilen müsste ich dann von Hand löschen, nehme ich dann aber in Kauf, das würde ja durch sortieren schnell machbar sein.
Da in den Texten, die vorhin Probleme machten vor dem ersten Leerzeichen kein Punkt steht, sollte auch dieses Problem damit behoben sein.
Gruß
Christian
Anzeige
AW: wenn nur diese 3 Bedingungen, dann ...
11.04.2021 14:48:53
neopa
Hallo,
... würde sich die Formel zwar erheblich verkürzen zu:
A1: =1-WENNFEHLER(ISTZAHL(SUCHEN(" ";A1))+(TEIL(A1;SUCHEN(" ";A1)-1;1)=".")+ISTZAHL(-LINKS(A1;1))=3;0=1)
Doch angewendet auf die zuvor von mir eingestellten Beispieldaten, würden diese auch ein WAHR für A8:A9 und A11 sowie A13 ergeben, deshalb würde ich Dir davon abraten.

Gruß Werner
.. , - ...
AW: wenn nur diese 3 Bedingungen, dann ...
11.04.2021 15:16:48
Christian
Hallo Werner,
habe mir deine Auflistung vorhin nochmal angeschaut.
A8 die Zahl größer 11949 ist klar, das hatte ich ja bereits erwähnt.
Die anderen 3 Fälle, die du gemeint hast kommen m.E. nicht vor.
Daher sollte die Formel reichen.
Vielen Dank
Christian
AW: diese Fälle hatte nicht ich vorgegeben ...
11.04.2021 16:13:40
neopa
Hallo Christian,
... wenn diese nun aber doch nicht vorkommen dann ist es auch gut.
Gruß Werner
.. , - ...
AW: diese Fälle hatte nicht ich vorgegeben ...
11.04.2021 16:21:26
Christian
meine Tabelle ging bis Zeile 8. Da hatte ich ja gesagt dass ich dir recht gebe, dass für diesen Fall diese Formel nicht ausreicht.
Bin dann davon ausgegangen, dass du die Zeilen ab 9 hinzugefügt hast.
AW: zu den Datewerten A9 bis A13 ...
11.04.2021 16:36:17
neopa
Hallo Christian,
... diese sind von mir als Beispieldatenwerte ergänzt wurden, um daran aufzuzeigen, dass Deine ursprüngliche Bedingung in B7: "... Hierbei soll noch beachtet werden, dass alle Ordnungszahlen &gt=1000 einen Punkt als 1000er Trennung haben" mit meiner Formel auch berücksichtigt werden. Mit diesen sind keine neuen/zusätzlichen Fälle von mir berücksichtigt.
Gruß Werner
.. , - ...
AW: wenn nur diese 3 Bedingungen, dann ...
12.04.2021 12:03:33
Christian
Hallo Werner,
nur als kleiner Nachtrag, es sind genau 11919 Zeilen übrig geblieben (30 weitere habe ich von Hand gelöscht bevor ich die Formel probiert habe, weil ich den Inhalt nicht brauchte). Daher passt es rechnerisch.
Gruß
Christian
AW: dann ist es ja nun alles gut owT
12.04.2021 13:53:52
neopa
Gruß Werner
.. , - ...
… und vielleicht
11.04.2021 12:48:58
Günther
… fragen sich die PQ-Spezis (und eventuell auch andere Helfer), wie "filtern" definiert ist. Behalten oder verwerfen?
… "freuen" die sich auch über das (in folgenden Beitrag) nachgeschobene Leerzeichen als Kriterium?
… gibt es noch andere Gründe, nicht zu antworten?
 
Gruß
Günther  |  mein Excel-Blog
AW: … und vielleicht
11.04.2021 13:18:11
Christian
Hallo Günther,
sorry ich als Fragesteller, versuche natürlich mein Problem bestmöglich zu beschreiben. Das schließt leider trotzdem nicht aus, dass den Lesenden noch Fragen offen bleiben.
Aber zu deinen Fragen, mit filtern war gemeint, dass die Texte die mit der Ordnungszahl beginnen, eingeblendet bleiben sollen.
Zu dem Leerzeichen, In den Datensätzen folgt auf eine Ordnungszahl ausschließlich immer ein Leerzeichen, es sei denn der Datensatz besteht nur aus einer Ordnungszahl. Das ging bereits aus der Bsp Datei hervor, da gibt es keine Zelle, in der es anders ist.
Ich hatte es nur extra in meinem Lösungsvorschlag erwähnt, um ihn verständlicher zu machen. Ich sehe nicht, was ich damit jetzt neues eingeführt hätte, was nicht bereits in der Beispieldatei vorhanden war.
Mit den anderen Gründen, nicht zu antworten, verstehe ich einfach mal so, dass du die Qualität der Beispieldatei meinst. Ich bin nach wie vor der Meinung, sie bildet jeden Fall ab, der auftreten kann und ich habe für jeden Fall erklärt was damit geschehen soll.
Die Originaldatei mit 100.000 Zeilen hätte nur bedeutet dass du einen riesigen Berg an Daten gehabt hättest und jedesmal übelegt hättest, was war nun gemeint, soll das gefiltert werden oder nicht. Daher habe ich entschieden, anstelle der realen Daten, simple, selbst konstruierte Daten zu nutzen.
Gruß
Christian
Gruß
Christian
eigentlich...
11.04.2021 13:18:55
ralf_b
...geht mich das nichts an , aber sind das nicht alles Gründe um nachzufragen anstatt abzuwarten?
AW: eigentlich...
11.04.2021 13:22:15
Christian
danke Ralf für deine Unterstützung, habe mich soeben selbst zu Günthers Beitrag geäußert.

174 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige