Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1196to1200
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
Zahlen von Text trennen
Text
Hallo,
ich habe folgendes Problem:
ich habe eine Excel-Liste mit mehreren hundert Einträgen in Spalte A. Diese Einträge haben folgende Struktur:
Artikel_ Setkopf_anlegen_I8006024_IT_Jan
VAR ZHAW B8006015_BE
Artikel_ Setkom1_anlegen_F8006025_FR
Unterstriche sind nicht bei jedem Eintrag vorhanden.
Ich möchte bei jedem Eintrag die Zahl mit dem davor stehenden Buchstaben (also in Zeile1 z. bsp. I8006024) in eine eigene Spalte kopieren (z. bsp. in Spalte B). Die Anzahl der Zeichen von Links und von Rechts ist unterschiedlich. Im Archiv habe ich nachgesehen konnte aber nichts finden.
Kann mir hier jemand mit einer Formel helfen? Sollte es keine Formel geben, dann auch VBA.
Mit freundlichen Grüßen
Stefan

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zahlen von Text trennen
04.02.2011 08:58:10
Text
Hallo Stefan,
mit Hilfzelle
Tabelle1
 ABF
8http://www.excelformeln.de/formeln.html?welcher=102
9VAR ZHAW B8006015_BE8006015B8006015

verbundene Zellen
A8:F8

verwendete Formeln
Zelle Formel Bereich
B9 {=TEIL(LINKS(A9;MAX(ISTZAHL(TEIL(A9;SPALTE(1:1);1)*1)*SPALTE(1:1)));VERGLEICH(1;ISTZAHL(TEIL(A9;SPALTE(1:1);1)*1)*1;0);LÄNGE(A9))} $B$9
F9 =TEIL(A9;FINDEN(B9;A9)-1;LÄNGE(B9)+1) 
{} Matrixformel mit Strg+Umschalt+Enter abschließen

Tabellendarstellung in Foren Version 5.37



Anzeige
Aufgabenstellung unklar
04.02.2011 09:09:33
Erich
Hi zusammen,
augenscheinlich ist Stefans Aufgabenstellung noch nicht klar - siehe Zeile 8:
 ABC
8Artikel_ Setkom1_anlegen_F8006025_FR1_anlegen_F8006025m1_anlegen_F8006025
9VAR ZHAW B8006015_BE8006015B8006015

Formeln der Tabelle
ZelleFormel
B8{=TEIL(LINKS(A8;MAX(ISTZAHL(TEIL(A8;SPALTE(2:2); 1)*1)*SPALTE(2:2))); VERGLEICH(1;ISTZAHL(TEIL(A8;SPALTE(2:2); 1)*1)*1;0); LÄNGE(A8))}
C8=TEIL(A8;FINDEN(B8;A8)-1;LÄNGE(B8)+1)
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen

Hier wird die 1. "1" hinter dem "m" gefunden. Dies ist eine Zahl mit einem Buchstaben davor.
Stefan, kannst du eine Regel formulieren, nach der nicht diese Fundstelle,
sondern die weiter hinten stehende 8 gefunden werden soll?
Möglicherweise soll die zu findende Zehl mindenstens 2 oder vielleicht 5 Stellen haben?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Aufgabenstellung unklar
04.02.2011 09:17:34
Stefan
Hallo Erich, Hallo Hajo,
die Zahl, die gefunden werden soll beginnt immer mit einer "8". Entschuldigung, das hatte ich bei meiner Aufgabenstellung nicht berücksichtigt.
Viele Grüße
Stefan
AW: Aufgabenstellung unklar
04.02.2011 09:31:46
Hajo_Zi
Hallo Stefan,
Tabelle1
 ABF
13Artikel_ Setkom1_anlegen_F8006025_FRF8006025_FRF8006025

verwendete Formeln
Zelle Formel Bereich
B13 =TEIL(A13;FINDEN(8;A13)-1;LÄNGE(A13)) 
F13 =TEIL(B13;FINDEN(B9;B13)-1;LÄNGE(B9)+1) 

Tabellendarstellung in Foren Version 5.37


Gruß Hajo
Anzeige
AW: Aufgabenstellung unklar
04.02.2011 09:58:30
Hajo_Zi
Hallo Stefan,
das war noch falsch.
Tabelle1
 ABF
14http://www.excelformeln.de/formeln.html?welcher=102
15Artikel_ Setkom1_anlegen_F8006025_FrtutuF8006025 

verbundene Zellen
A14:F14

verwendete Formeln
Zelle Formel Bereich
B15 {=LINKS(TEIL(A15;FINDEN(8;A15)-1;LÄNGE(A15));1)&TEIL(LINKS(TEIL(A15;FINDEN(8;A15)-1;LÄNGE(A15));MAX(ISTZAHL(TEIL(TEIL(A15;FINDEN(8;A15)-1;LÄNGE(A15));SPALTE(2:2);1)*1)*SPALTE(2:2)));VERGLEICH(1;ISTZAHL(TEIL(TEIL(A15;FINDEN(8;A15)-1;LÄNGE(A15));SPALTE(2:2);1)*1)*1;0);LÄNGE(TEIL(A15;FINDEN(8;A15)-1;LÄNGE(A15))))} $B$15
{} Matrixformel mit Strg+Umschalt+Enter abschließen

Tabellendarstellung in Foren Version 5.37


Ich bin davon ausgegangen das hinter der Zahl nicht noch eine Zahl kommt.
Gruß Hajo
Anzeige
AW: Aufgabenstellung unklar
04.02.2011 10:11:37
Stefan
Hallo,
eine Frage: Was hat es denn in der zweiten Formel F13 =TEIL(B13;FINDEN(B9;B13)-1;LÄNGE(B9)+1) mit "B9" für eine Bewandnis?
Grüße
Stefan
AW: Aufgabenstellung unklar
04.02.2011 10:13:28
Hajo_Zi
Hallo Stefan,
siehe Dir meinen letzten Beitrag an.
Gruß Hajo
AW: Aufgabenstellung unklar
04.02.2011 11:09:25
Stefan
Hallo,
okay, Vielen Dank für die schnelle Hilfe. Hat mir sehr weitergeholfen.
Viele Grüße
Stefan
AW: Zahlen von Text trennen
04.02.2011 09:13:38
Text
Hallo Hajo,
Vielen Dank für die schnelle Hilfe.
Bei den ersten beiden funktionieren die Formeln. Bei der dritten nicht. Gibt es hier noch eine Lösung?
Sollte es zuviel Aufwand für dich sein, dann ist es nicht schlimm. Mir ist bis hierhin auch schon sehr geholfen.
Artikel_ Setkopf_anlegen_I8006024_IT_Jan 8006024 I8006024
VAR ZHAW B8006015_BE 8006015 B8006015
Artikel_ Setkom1_anlegen_F8006025_FR 1_anlegen_F8006025 m1_anlegen_F8006025
Nochmals Vielen Dank
Stefan
Anzeige
mit Regenechse ?
04.02.2011 11:27:27
ransi
Hallo Stefan
Mit ein ganz wenig VBA geht das recht einfach.
Kopier diesen Code mal in ein Modul:
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit


Public Function machs(Zelle As Range, welche_Stelle As Long)
    Dim Regex As Object
    Dim objM As Object
    machs = ""
    Set Regex = CreateObject("vbScript.Regexp")
    With Regex
        .Pattern = "[A-ZÄÖÜ]8[0-9]+"
        .Global = True
        Set objM = .Execute(Zelle.Text)
        If objM.Count >= welche_Stelle Then _
            machs = objM(welche_Stelle - 1).Value
    End With
End Function


Jetzt kennt dein Excel eine neue rattenscharfe Funktion.
=machs() ;-)
Die kannst du in deiner Tabelle jetzt aufrufen wie jede ander Funktion auch.
=machs() erwartet nur 2 Argumente:
Die Zelle die untersucht werden soll und den wievielten Treffer sie aus der Zelle extrahieren soll.
Tabelle1

 ABCDE
1Artikel_ Setkopf_anlegen_I8006024_IT_Jan 8006024 I8006024I8006024I8006024  
2VAR ZHAW B8006015_BE 8006015 B8006015B8006015B8006015  
3Artikel_ Setkom1_anlegen_F8006025_FR 1_anlegen_F8006025 m1_anlegen_F8006025F8006025F8006025F8006025 
4     

Formeln der Tabelle
ZelleFormel
B1=machs($A1;SPALTE(A1))


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
ransi
Anzeige
AW: mit Regenechse ?
04.02.2011 11:43:36
Stefan
Hallo ransi,
ich habe es getestet und funktioniert hervorragend.
Herzlichen Dank noch mal auch an alle anderen, die mir hiermit wirklich sehr geholfen haben
Viele Grüße
Stefan
kleine Variation
04.02.2011 13:46:20
Erich
Hi Ransi,
bei "machs" verlangt das Muster, dass direkt hinter der 8 noch mindestens eine Ziffer steht.
War das vorausgesetzt?
Bei "machs2" braucht es nur eine 8, vor der ein Buchstabe steht:
 ABCD
1Artikel_ Setkom1_anlegen_F8006025_FR 1_anlem1_anlegen_XX8gen_F80060F8006025F80060 
2 F8006025X8F80060

Formeln der Tabelle
ZelleFormel
B1=machs($A$1;SPALTE(A1))
C1=machs($A$1;SPALTE(B1))
B2=machs2($A$1;SPALTE(A1))
C2=machs2($A$1;SPALTE(B1))

In machs2() ist das Muster vorgegeben mit
.Pattern = "[A-ZÄÖÜ]8[0-9]*"
statt
.Pattern = "[A-ZÄÖÜ]8[0-9]+" wie in machs(). Ansonsten ist das gleich Ransis Funktion.
Das macht hier sicher nicht viel aus - aber man kann daran vielleicht noch etwas über die Echse lernen.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: kleine Variation
09.02.2011 12:21:15
Stefan
Hallo,
erst mal sorry für die verspätete Antwort. Beide Funktionen funktionieren hervorragend.
Vielen Dank
Stefan

291 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige