Hallo Zusammen
Gibt es eine Möglichkeit, die Zahlzeichen aus einer Zelle so auszulesen, wie ich sie in Spalte D rot markiert habe? (Vorher Buchstaben und nachfolgend Buchstaben unterschiedlicher Länge)
Es gibt PR-Projekte, die haben stets variable Nullstellen voran. Andere Projekte, ohne PR, sind reine Zahlzeichen ohne vorangestellte Null
Ich habe bereits eine Formel finden können, die es erlaubt, die Zahlenfolge wie in Spalte B darzustellen. Hier fehlen allerdings die Nullen in den Zeilen 1 und 4, bei den beiden PR Projekten
Die Datei hängt anbei.
Beste Grüße und lieben Dank für die Mühe, wer Interesse hat
Manfred
Hallo
Eine mögliche Lösung in PQ könnte etwa so aussehen.
Moin
Dann klaue ich mal meine Antwort im anderen Thread von heute.
Code:
=LET(
text_aufteilen;TEIL(A1;SEQUENZ(LÄNGE(A1));1);
wert_ist_eine_zahl;ISTZAHL(--text_aufteilen);
text_entfernen;WENN(wert_ist_eine_zahl;text_aufteilen;" ");
ziffern_verketten;TEXTTEILEN(GLÄTTEN(TEXTKETTE(text_entfernen));" ");
ziffern_verketten)
Mein Vorschlag wäre
Code:
Public Function NumericOnly(s As String) As String
Dim re As Object
Set re = CreateObject("VBScript.RegExp")
re.Pattern = "\d+"
If re.test(s) Then
NumericOnly = re.Execute(s)(0)
End If
End Function
Sub test()
Debug.Print NumericOnly("Projekt PR-001085 abcdefghij")
End Sub
Hallo
mit VBA Makro sieht die Lösung dann so aus: Button drüclen, Fertig.
Leider ist es eine alte Excel 2003 Datei, das Makro kann man in die Original Datei kopieren.
mfg Gast 123
Zitat:Eine mögliche Lösung in PQ könnte etwa so aussehen.
Da ist jeder PQ-Neuling sofort begeistert, da er ja sofort nachvollziehen kann, wie sich das Ergebnis ganz einfach zusammenklicken lässt!
Zitat:Da ist jeder PQ-Neuling sofort begeistert,
Dann ist ja das Ziel erreicht.
Natürlich gibt es oft genung gute Gründe, genauso wie bei Formeln, auch PQ-Funktionen zu verschachteln.
Ob dies dann aber die Laufzeit positiv beeinflusst, ist mehr als fraglich. Unstrittig ist aber, das Anwender die man an Power Query heranführen möchte, eher abgeschreckt werden. Da ist es dann doch besser, den Weg zu wählen, den sich jeder Anwender erklicken kann.
Hier dazu meine Lösung:
Code:
let
Source = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
Change_Type = Table.TransformColumnTypes(Source,{{"Spalte1", type text}}),
Projekt_Nr1 = Table.SplitColumn(Change_Type, "Spalte1", Splitter.SplitTextByCharacterTransition((c) => not List.Contains({"0".."9"}, c), {"0".."9"}), {"Spalte1.1", "Spalte1.2"}),
Projekt_Nr2 = Table.SplitColumn(Projekt_Nr1, "Spalte1.2", Splitter.SplitTextByCharacterTransition({"0".."9"}, (c) => not List.Contains({"0".."9"}, c)), {"Projekt-Nr.", "Spalte1.2.2"}),
Col_Projekt = Table.AddColumn(Projekt_Nr2, "Projekt", each [Spalte1.1] & [#"Projekt-Nr."] & [Spalte1.2.2]),
Keep_needed = Table.SelectColumns(Col_Projekt,{"Projekt-Nr.", "Projekt"})
in
Keep_needed
Hallo Detlef,
lieben Dank für Deine Antwort. Genau so etwas habe ich gesucht. Die anderen Hinweise mittels PQ zeigten auch ein gutes Resultat. Ihre Lösung konnte ich am besten nachvollziehen. Wäre es möglich, wenn ich noch fragen kann, ob man die Formel, die Sie mir sendeten noch dahingehend erweitert, dass allgemein bei den Ziffernfolgen, bei denen die 00 oder die 000 vorstehen auch noch das "PR-" vorne dranhängt also:
WENN 001085 oder 000317 DANN PR-001085 oder PR-000317
So dass ich quasi als Lösung bekäme:
PR-000317
1399
85419
PR-001085
Bei Interesse, vielen Dank für die weitere Mühe
Beste Grüße
Manfred
Hi,
diese neue Forderung macht die Sache viel einfacher:
=SPALTENWAHL(TEXTTEILEN(A1;" ");2)
bzw. wenn die Zahlen ohne "PR-" als echte Zahlen kommen sollen:
=LET(x;SPALTENWAHL(TEXTTEILEN(A1;" ");2);WENNFEHLER(--x;x))