Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1624to1628
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

Vierstellige Ziffer aus String Extrahieren

Vierstellige Ziffer aus String Extrahieren
16.05.2018 16:15:48
Hans
Hi,
ich suche eine Lösung für folgendes Problem
ich habe Daten wie folgt
IST - Soll
00RST5123 _5123_00RST
DS2150.02 _2150_DS.02
2130 _2130
FTIR-+5823.06 _5823_FTIR-+.06
Jetzt suche ich Eine Formel die mir die Daten von IST nach Soll Konvertiert.
Gerne auch mit mehreren Schritte. Einzig Gemeinsamkeit ist die 4-Stillige Ziffer die vorangestellt werden soll.
Habt ihr eine Lösung?
Gruß und danke

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
=--TEIL(A1;SUCHEN("_?_";"_"&A1&"_");4)
16.05.2018 16:26:47
lupo1
AW: =--TEIL(A1;SUCHEN("_?_";"_"&A1&"_");4)
16.05.2018 16:40:07
Hans
Hi,
Argh da hat mir Das Forum was verwurschtelt. also nochmal:
IST
00RST5123
DS2150.02
2130
FTIR-+5823.06
Soll
_5123_00RST
_2150_DS.02
_2130
_5823_FTIR-+.06
Gruß und Danke
1) ohne -- 2) statt 6 nimm 99
16.05.2018 16:45:26
lupo1
=TEIL(A1;SUCHEN("_?_";"_"&A1&"_")-1;99)
16.05.2018 17:44:26
lupo1
=TEIL(A1;SUCHEN("_?_";"_"&A1&"_")-1;99)
(ich hatte einen Schritt übersprungen, sorry)
AW: =TEIL(A1;SUCHEN("_?_";"_"&A1&"_")-1;99)
16.05.2018 18:03:40
Hans
Nee das klappt nicht. Ich glaub du meinst die falsche Richtung.
Aus 00RST5123 soll _5123_00RST werden.
Der Suchtext '_?_' ist ja im Original nicht vorhanden.
Danke und Gruß
Dein Ist und Soll solltest Du korrekt darstellen
16.05.2018 18:20:36
lupo1
- und zwar peinlich korrekt mit jedem einzelnen Zeichen! -; dann klappt's auch mit den Antworten.
Anzeige
AW: Dein Ist und Soll solltest Du korrekt darstellen
16.05.2018 19:02:07
Hans
Also Wenn ich in A1: 00RST5123 eingebe kommt in der "Formelzelle" nicht _5123_00RST raus.
Alle Zeichen sind oben dargestellt.
Gruß und Danke.
Die 4stellige Zahl ist die mit Unterstrichen
16.05.2018 19:43:56
lupo1
drumrum ... so war es zu verstehen aufgrund Deines ersten Beitrags.
Dass die Zahl in jedem Beispiel doppelt vorkommt, verpflichtet Dich zu einer eindeutigen Beschreibung, die Du bis jetzt immer noch nicht gebracht hast, was genau zu geschehen hat.
Es gibt diese 4stelligen Zahlen auch mit "Dezimalpunkt" (falls es einer ist, aber auch da fehlt es an einer exakten Beschreibung).
jetzt erst gepeilt! Mann o Mann ...
16.05.2018 20:11:20
lupo1
... das sah aber auch dämlich aus im OT. Das folgende geht mit VERWEIS vermutlich noch kürzer:
{=TEIL(A1;MIN(WENN(ISTZAHL(
TEIL(A1;ZEILE($1:$99);4)*
TEIL(A1;ZEILE($1:$99);1));ZEILE($1:$99)));4)&"_"&WECHSELN(A1;TEIL(A1;MIN(WENN(ISTZAHL(--
TEIL(A1;ZEILE($1:$99);4));ZEILE($1:$99)));4);)
}
Anzeige
minimal kürzer
16.05.2018 20:15:34
lupo1
{=TEIL(A1;MIN(WENN(ISTZAHL(-(0&
TEIL(A1;ZEILE($1:$99);4)));ZEILE($1:$99)));4)&"_"&WECHSELN(A1;TEIL(A1;MIN(WENN(ISTZAHL(--(
TEIL(A1;ZEILE($1:$99);4)));ZEILE($1:$99)));4);)
}
AW:Versuch
16.05.2018 19:50:47
CitizenX
Hallo;
AB
100RST5123 _5123_00RS3

Verwendete Formeln
AB
100RST5123 {="_" &TEIL(A1;MIN(WENN(ISTZAHL(SUCHEN(ZEILE($1:$9);A1));SUCHEN(ZEILE($1:$9);A1)));4)&"_"& WENNFEHLER(WECHSELN(A1;TEIL(A1;MIN(WENN(ISTZAHL(SUCHEN(ZEILE($1:$9);A1));SUCHEN(ZEILE($1:$9);A1)))-1;4);"");"")}
Enthält Matrixformel:
Umrandende { } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Table to HTML by CitizenX 2017
geht bestimmt noch kürzen...
VG
Steffen
Anzeige
AW: AW:Versuch
17.05.2018 12:53:29
niclaus
Hallo Steffen
"Schönheitsfehler" ergibt Deine Formel, bei folgenden Werten in Spalte A:
2130            >>>    _2130_           statt    _2130
FTIR-+5823.06   >>>    _5823_FTIR-3.06  statt    _5823_FTIR-+.06

Ich habe Deine Formel etwas geändert, dann sind die Ergebnisse auch bei diesen beiden Werten richtig. Auch wieder eine Matrix-Formel!
Tabelle2

 ABCDEFGHI
1Formel in B1{="_"&TEIL(A1;MIN(WENN(ISTZAHL(SUCHEN(ZEILE($1:$99);A1));SUCHEN(ZEILE($1:$99);A1)));4)&
WENN(WECHSELN(A1;TEIL(A1;MIN(WENN(ISTZAHL(SUCHEN(ZEILE($1:$99);A1));SUCHEN(ZEILE($1:$99);A1)));4);"")<>"";"_"&
WECHSELN(A1;TEIL(A1;MIN(WENN(ISTZAHL(SUCHEN(ZEILE($1:$99);A1));SUCHEN(ZEILE($1:$99);A1)));4);"");"")}


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Das funktioniert aber nicht bei folgendem String:
xs33as4444   das ergibt wohl ein falsches Ergebnis:      _33as_xs4444 

Grüsse Niclaus
Anzeige
AW: AW:Versuch
17.05.2018 17:21:05
Hans
HI,
Ihr Seit Super :)
bei 05KCV0245 Klapps Schon nicht mehr,dafür bei fast allen anderen geht ab gut.
Vll. können wir das in einzel Steps machen?
1. Beginn und Ende 4-Stellige Zahl
2. Elemente Verketten.
Gr und Danke
AW: AW:Versuch
17.05.2018 17:21:42
Hans
HI,
Ihr Seit Super :)
bei 05KCV0245 Klapps Schon nicht mehr,dafür bei fast allen anderen sehr gut.
Vll. können wir das in einzel Steps machen?
1. Beginn und Ende 4-Stellige Zahl
2. Elemente Verketten.
Gr und Danke
AW:UDF
17.05.2018 18:50:44
CitizenX
Hallo,
wenn eine UDF auch in Frage kommt, dann teste mal Die:

Option Explicit
Function Textteil(Bereich As String)
Dim regex As Object: Set regex = CreateObject("vbscript.regexp")
With regex
.Pattern = "(.*)(\d{4})"
.Global = False
If .test(Bereich) Then
Textteil = IIf(Len(.Execute(Bereich)(0).SubMatches.Item(0)), .Replace(Bereich, "_$2_$1") _
, .Replace(Bereich, "_$2"))
End If
End With
End Function
ALT+F11-> Einfügen -Modul,und Code ins Modul einfügen
AB
105KCV0245_0245_05KCV
2FTIR-+5823.06_5823_FTIR-+.06
32130_2130

Verwendete Formeln
AB
105KCV0245=textteil(A1)
2FTIR-+5823.06=textteil(A2)
32130=textteil(A3)

Table to HTML by CitizenX 2017
VG
Steffen
Anzeige
AW: AW:UDF
17.05.2018 19:33:22
niclaus
Hallo Steffen
Super! Da ist meine Function ein Dreck dagegen - aber sie funktioniert auch.
Function hans(zelle)
yy = ""
xx = zelle
xxl = Len(xx)
For i = 1 To xxl
yy = yy & Mid(xx, i, 1)
If Not IsNumeric(yy) Then yy = ""
If Len(yy) = 4 Then Exit For
Next
yy3 = Replace(xx, yy, "")
If yy3 = "" Then
yy2 = "_" & yy
Else
yy2 = "_" & yy & "_" & Replace(xx, yy, "")
End If
hans = yy2
End Function

Grüsse Niclaus

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige