Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1508to1512
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
Nummer aus Text auslesen
25.08.2016 15:20:12
Iris
Hallo,
vielleicht kann mir jemand einen Tipp geben.
Gibt es eine Möglichkeit eine 10stellige Nummer aus einer Excel Datei auszulesen?
Es geht mir darum eine Kundennummer aus einer Kontoauszugsdatei in ein extra Feld zu selektieren.
Gruß!
Iris

24
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: aus einer Datei? Du meinst einer Zelle? owT
25.08.2016 15:24:50
...
Gruß Werner
.. , - ...
AW: aus einer Datei? Du meinst einer Zelle? owT
25.08.2016 15:36:29
Iris
Hallo Werner,
ja, genau das meinte ich.
Gruß!
Iris
AW: z.B. mit AGGREGAT() und einer WECHSEL()ei ...
25.08.2016 16:03:59
...
Hallo Iris,
... so:
 AB
1Text 987 abc  0001234567 sonstwas 4567 nochwas0001234567

Formeln der Tabelle
ZelleFormel
B1=TEIL(WECHSELN(A1;" ";""); AGGREGAT(15;6;SPALTE(A1:Z1)/ISTZAHL(--TEIL(WECHSELN(A1;" ";""); SPALTE(A1:Z1); 10)); 1); 10)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Werner
.. , - ...
Anzeige
AW: z.B. mit AGGREGAT() und einer WECHSEL()ei ...
25.08.2016 16:24:17
Iris
https://www.herber.de/bbs/user/107837.xlsx
Hallo Werner,
danke!
Irgendwie klappts aber nicht. Ich hab mal ein Beispiel angehängt.
Gruß!
Iris
Mit Teil(...
25.08.2016 18:33:24
Backowe
Hallo Iris,
so vielleicht?
Tabelle1

 AB
1Uberweisungs-Gutschrift Max Müller 22527 WA LD EREF+123456895018 KREF+YG4557-CT2016-08-17-03 .47.20.901531 SVWZ+MITGL.NR.5356011223 SC MusterMANN 5356011223

Formeln der Tabelle
ZelleFormel
B1=TEIL(A1;SUCHEN(".Nr.";A1)+4;10)*1


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Anzeige
AW: oT nachgefragt ...
25.08.2016 19:30:58
...
Hallo Jürgen,
... von Dir habe ich ja eine halbe Ewigkeit nichts mehr gelesen. Wo bist Du denn jetzt so immer "unterwegs"?
Gruß Werner
.. , - ...
AW: oT nachgefragt ...
25.08.2016 19:36:25
Backowe
Hallo Werner,
ich habe mich in den letzten Jahren rar gemacht, respektive überhaupt keine Postings mehr beantwortet. Ich bin normalerweise im MOF oder hier im Forum unterwegs, ich lese aber immer noch fleißig mit oder suche nach Lösungen, die meine Arbeit betreffen.
Schön wieder von Dir zu hören! :-)
Gruß Jürgen
AW: dito :-) ! owT
25.08.2016 19:39:52
...
Gruß Werner
.. , - ...
Teil(A1;Suchen("Nr.";A1)+4;10)*1 funktionniert
26.08.2016 10:01:19
Iris
Hallo,
die Formel =Teil(A1;Suchen("Nr.";A1)+4;10)*1 funktioniert, aber es steht nicht immer "Nr" vor der gesuchten Nummer.
Perfekt wäre es Excel zu fragen in einem Feld (A1)eine 10 Stellige Nr. zu suchen.
Gibt es so eine Formel?
Ansonsten müsste ich raussuchen was sonst noch vor der Nr. stehen könnte. Dann wäre es doch bestimmt möglich diese Formel mit einem ODER um z.B: suche nach "SVWZ" Statt "Nr." zu ergänzen, oder?
Wo müsste ich das Oder da einfügen?
Gruß!
Iris
Anzeige
AW: Teil(A1;Suchen("Nr.";A1)+4;10)*1 funktionniert
26.08.2016 11:11:33
Backowe
Hallo Iris,
erstelle bitte mal ein paar Beispiele mit den verschiedenen Möglichkeiten, um das Problem genauer zu verifizieren.
Gruß Jürgen :-)
Ein Versuch, nur mit Formeln habe ich...
26.08.2016 13:54:42
Backowe
Hallo Iris,
... es nicht hinbekommen:
Tabelle1

 AB
1Ruckuberw. Konto erloschen Max Müller GUSTAV EREF+EtE2016:06:29:09:06:36 :472000 KREF+YG4967-CT2016-07-01-03 .47.26.492921 Z+RUECKUEBERWEISUNG Gewinnausschuettung 2016 fuer Max Müller GUSTAV KdNr. 5251287345 AC04: Konto erloschen Konto aufgelöst 5251287345
2Uberweisungs-Gutschrift Meyer Kurt KREF+YG4967-CT2016-08-18-03 .46.39.443643 SVWZ+GENOSSENSCHAFTSANTEILE  MITG LIEDSNUMMER 5891239580 5891239580
3Uberweisungs-Gutschrift Mueller Hans EREF+ZV01002078420819000000 02 KREF+YG4967-CT2016-08-18-09 .02.31.374487 SVWZ+Mitgliedsnummer: 51302 55539 5130255539
4Uberweisungs-Gutschrift Nadja Irgendwer KREF+YG4967-CT2016-08-18-09 .02.34.686452 SVWZ+MitgliedsNre 55608459 2 Nad Irgenwiez Aufstockung Anteil e auf 100 Stueck 556084592
5Uberweisungs-Gutschrift Steffi Dieda KREF+YG4967-CT2016-08-18-09 .02.37.042002 578908899 1 Dieda Steffi Reck Aufstockung A nteile auf 100 Stuck 5789088991
6Uberweisungs-Gutschrift Markus Grün EREF+DAB/B3/359926371/2016- 08-18 KREF+YG4967-CT2016-08-18-10 .01.55.599366 SVWZ+5600892658 5600892658
7Uberweisungs-Gutschrift Hans-Peter Wand KREF+YG4967-CT2016-08-18-14 .02.23.863272 SVWZ+KDNR 580889255801/1 ZA EHLER NR 1152356 GREENPEACE 580889255801

Formeln der Tabelle
ZelleFormel
B1=WECHSELN(stringfinden(A1;" [0-9 ?]{10,12} ?| [0-9 ?]{10,12}$|[0-9]{10} $"); " ";"")
B2=WECHSELN(stringfinden(A2;" [0-9 ?]{10,12} ?| [0-9 ?]{10,12}$|[0-9]{10} $"); " ";"")
B3=WECHSELN(stringfinden(A3;" [0-9 ?]{10,12} ?| [0-9 ?]{10,12}$|[0-9]{10} $"); " ";"")
B4=WECHSELN(stringfinden(A4;" [0-9 ?]{10,12} ?| [0-9 ?]{10,12}$|[0-9]{10} $"); " ";"")
B5=WECHSELN(stringfinden(A5;" [0-9 ?]{10,12} ?| [0-9 ?]{10,12}$|[0-9]{10} $"); " ";"")
B6=WECHSELN(stringfinden(A6;" [0-9 ?]{10,12} ?| [0-9 ?]{10,12}$|[0-9]{10} $"); " ";"")
B7=WECHSELN(stringfinden(A7;" [0-9 ?]{10,12} ?| [0-9 ?]{10,12}$|[0-9]{10} $"); " ";"")


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8


' ************************************************************* _
'  Modul:  Modul1  Typ = Allgemeines Modul
' **************************************************************
Option Explicit
Function StringFinden(strData As String, Pattern As String) As String
Dim RE As Object, REMatches As Object
Set RE = CreateObject( _
34;vbscript.regexp")
With RE
.MultiLine = False
.Global = False
.IgnoreCase = True
.Pattern = Pattern
End With
Set REMatches = RE.Execute(strData)
StringFinden = REMatches(0)
End Function


Anzeige
Pattern-Änderung
28.08.2016 11:19:26
Backowe
Hallo Iris,
ich habe das Pattern noch etwas verkürzt:
Tabelle1

 AB
1Ruckuberw. Konto erloschen Max Müller GUSTAV EREF+EtE2016:06:29:09:06:36 :472000 KREF+YG4967-CT2016-07-01-03 .47.26.492921 Z+RUECKUEBERWEISUNG Gewinnausschuettung 2016 fuer Max Müller GUSTAV KdNr. 5251287345 AC04: Konto erloschen Konto aufgelöst 5251287345
2Uberweisungs-Gutschrift Meyer Kurt KREF+YG4967-CT2016-08-18-03 .46.39.443643 SVWZ+GENOSSENSCHAFTSANTEILE  MITG LIEDSNUMMER 5891239580 5891239580
3Uberweisungs-Gutschrift Mueller Hans EREF+ZV01002078420819000000 02 KREF+YG4967-CT2016-08-18-09 .02.31.374487 SVWZ+Mitgliedsnummer: 51302 55539 5130255539
4Uberweisungs-Gutschrift Nadja Irgendwer KREF+YG4967-CT2016-08-18-09 .02.34.686452 SVWZ+MitgliedsNre 55608459 2 Nad Irgenwiez Aufstockung Anteil e auf 100 Stueck 556084592
5Uberweisungs-Gutschrift Steffi Dieda KREF+YG4967-CT2016-08-18-09 .02.37.042002 578908899 1 Dieda Steffi Reck Aufstockung A nteile auf 100 Stuck 5789088991
6Uberweisungs-Gutschrift Markus Grün EREF+DAB/B3/359926371/2016- 08-18 KREF+YG4967-CT2016-08-18-10 .01.55.599366 SVWZ+5600892658 5600892658
7Uberweisungs-Gutschrift Hans-Peter Wand KREF+YG4967-CT2016-08-18-14 .02.23.863272 SVWZ+KDNR 580889255801/1 ZA EHLER NR 1152356 GREENPEACE 580889255801

Formeln der Tabelle
ZelleFormel
B1=WECHSELN(stringfinden(A1;" [0-9 ?]{10,12} ?| ?[0-9 ?]{10,12} ?$"); " ";"")
B2=WECHSELN(stringfinden(A2;" [0-9 ?]{10,12} ?| ?[0-9 ?]{10,12} ?$"); " ";"")
B3=WECHSELN(stringfinden(A3;" [0-9 ?]{10,12} ?| ?[0-9 ?]{10,12} ?$"); " ";"")
B4=WECHSELN(stringfinden(A4;" [0-9 ?]{10,12} ?| ?[0-9 ?]{10,12} ?$"); " ";"")
B5=WECHSELN(stringfinden(A5;" [0-9 ?]{10,12} ?| ?[0-9 ?]{10,12} ?$"); " ";"")
B6=WECHSELN(stringfinden(A6;" [0-9 ?]{10,12} ?| ?[0-9 ?]{10,12} ?$"); " ";"")
B7=WECHSELN(stringfinden(A7;" [0-9 ?]{10,12} ?| ?[0-9 ?]{10,12} ?$"); " ";"")


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Option Explicit
Function StringFinden(strData As String, Pattern As String) As String
Dim RE As Object, REMatches As Object
Set RE = CreateObject("vbscript.regexp")
With RE
.MultiLine = False
.Global = False
.IgnoreCase = True
.Pattern = Pattern
End With
Set REMatches = RE.Execute(strData)
StringFinden = REMatches(0)
End Function

Anzeige
AW: oT nachgefragt ...
25.08.2016 21:25:57
Iris
Super! Danke!
5356011223 war die gesuchte Nr. Leider steht aber nicht immer "Nr" davor.
Es ist noch etwas gemeiner, manchmal ist die 10 stellige Nummer sogar noch irgendwo durch ein Leerzeichen getrennt.
Ich glaube das kann man dann nicht mehr mit einer Formel abfangen, oder?
Gruß!
Iris
AW: es ist vieles realisierbar ...
26.08.2016 12:17:07
...
Hallo Iris,
... wenn ausreichende Vorgaben vorliegen. Jürgen hatte Dich ja auch schon um ein paar Beispiele gebeten.
Solche hast Du noch nicht eingestellt.
Ich möchte zumindest noch wissen, um in den Texten auch Datumsangaben vorkommen können und ob vor der 10 stelligen Zifferfolge auch ein + (Plus) oder - (Minus) vorkommen kann. Die andere vorhandene Ziffernfolge hat diese immer mit mehr als 10 Stellen und beginnt diese immer mit einem + -Zeichen?
Gruß Werner
.. , - ...
Anzeige
AW: es ist vieles realisierbar ...
26.08.2016 12:57:34
Iris
Hallo Werner,
hier ist eine Beispieldatei.
https://www.herber.de/bbs/user/107850.xlsx
Ja, in den Texten können auch Datumsangaben vorkommen, einmal hab ich auch gesehen dass ein + vor der Zahl stand. Meistens steht aber weder + noch - davor.
Es kommt leider auch vor dass die 10 stellige Zahl durch ein Leerzeichen getrennt ist.
Also z.B. statt 1234567891 123 4567891.
Gruß!
Iris
AW: oh je, so ist es wohl kaum realisierbar ...
26.08.2016 13:30:27
...
Hallo Iris,
... jedenfalls nicht mit einfachen Mitteln, weil ...
- in A3 soll es wohl "51302 55539" sein? Da ist innerhalb der Nr ein Leerzeichen und mit diesem sind es 11 Zeichen.
- in A4 soll es wohl "55608459 2" sein? Nur mit dem Leerzeichen sind es 10 Zeichen (aber keine 10 Ziffern)
- in A5 soll es wohl "578908899 1 sein? Da ist wieder ein Leerzeichen allerdings ohne dies sind es 10 Ziffern.
- in A6 soll es wohl "5600892658" sein! Dies wäre trotz dem voranstehenden + lösbar.
- völlig unklar ist mir aber, welche Nr in A7 gesucht wird.
Gruß Werner
.. , - ...
Anzeige
AW: oh je, so ist es wohl kaum realisierbar ...
26.08.2016 13:44:14
Iris
Hallo Werner,
das mit dem Leerzeichen wird wohl schwierig, dann muss ich das außen vor lassen und die Daten vorher aufbereiten.
In A4 hab ich mich vertippt, auch da sollten es 10 Ziffern, die durch ein Leerzeichen getrennt sind sein.
In Feld A7 suche ich 5808892558.
Aber wahrscheinlich müsste ich auch das vorher aufbereiten.
Gruß!
Iris
AW: wahrscheinlich nur teils möglich ...
26.08.2016 13:51:45
...
Hallo Iris,
... die Leerzeichen innerhalb der gesuchten Nummer sind vielleicht noch "verkraftbar". Aber ein echtes Problem stellt die Nummer in A7 dar, weil Du dort aus einer 12stelligen Zahl (noch dazu mit angehangenen "/#" den 10 Steller auslesen willst.
Ich schau es mir später noch einmal an.
Gruß Werner
.. , - ...
Anzeige
AW: wahrscheinlich nur teils möglich ...
26.08.2016 13:53:33
Iris
Hallo Werner,
der Fall in A7 kommt auch eher selten vor. Wenn es für die Leerzeichen Problematik eine Lösung gäbe wäre mir schon sehr geholfen.
Danke!
Gruß!
Iris
AW: problematischer als der Fall in A7 ist ...
26.08.2016 15:38:34
...
Hallo Iris,
... für eine reine Formellösung der Fall in A5 und zwar dort das Leerzeichen innerhalb der gesuchten Nummer und gleichzeitig das Leerzeichen vor der Nummer und nach einer Zeichenkette die auf Ziffern endet. Gibt es diese Möglichkeit wirklich? Wenn ja, wird eine Formellösung viel zu komplziert.
Jürgens UDF scheint das Problem aber gelöst zu haben. Warum nutzt Du nicht dessen Vorschlag?
Gruß Werner
.. , - ...
Anzeige
Weil der nicht fktioniert, ...
28.08.2016 04:05:36
Luc:-?
…Werner,
weil das von ihm verwendete PgmCode-Darstellungs-Tool eine entscheidende Zeile „gekillt“ hat. Die muss so lauten:
Set RE = CreateObject("vbscript.regexp")
Gruß, Luc :-?
Besser informiert mit …
Ich habe mal untersucht, ob das mit Fmln ...
01.09.2016 03:46:02
Luc:-?
…möglich wäre, Werner,
natürlich unter Einbeziehung allgemeiner UDFs. Die Fml wird ellenlang und kann natürlich nicht gewährleisten, dass es bei jedem Text klappt, für die Bspp aber schon. Dabei wdn bei meiner Lösung auch die abweichenden Fälle deutlich. Allerdings setzt das voraus, dass die relevante Zahl eher hinten im Text steht (weiter vorne können dann auch längere Zahlen auftreten), dann kann sie auch mal 12 Stellen haben:
 ABC
1die relevante Zahl beinhaltende Langtexte                                                                                                                                       → Extraktion der Zahl per Formel-Lösung mit …7 xlFktt & 5 allg UDFs1 speziellen UDF
2Ruckuberw. Konto erloschen Max Müller GUSTAV EREF+EtE2016:06:29:09:06:36 :472000 KREF+YG4967-CT2016-07-01-03 .47.26.492921 Z+RUECKUEBERWEISUNG Gewinnausschuettung 2016 fuer Max Müller GUSTAV KdNr. 5251287345 AC04: Konto erloschen Konto aufgelöst 52512873455251287345
3Uberweisungs-Gutschrift Meyer Kurt KREF+YG4967-CT2016-08-18-03 .46.39.443643 SVWZ+GENOSSENSCHAFTSANTEILE MITG LIEDSNUMMER 5891239580 58912395805891239580
4Uberweisungs-Gutschrift Mueller Hans EREF+ZV01002078420819000000 02 KREF+YG4967-CT2016-08-18-09 .02.31.374487 SVWZ+Mitgliedsnummer: 51302 55539 51302 555395130255539
5Uberweisungs-Gutschrift Nadja Irgendwer KREF+YG4967-CT2016-08-18-09 .02.34.686452 SVWZ+MitgliedsNre 55608459 2 Nad Irgenwiez Aufstockung Anteil e auf 100 Stueck 55608459 2556084592
6Uberweisungs-Gutschrift Steffi Dieda KREF+YG4967-CT2016-08-18-09 .02.37.042002 578908899 1 Dieda Steffi Reck Aufstockung A nteile auf 100 Stuck 578908899 15789088991
7Uberweisungs-Gutschrift Markus Grün EREF+DAB/B3/359926371/2016- 08-18 KREF+YG4967-CT2016-08-18-10 .01.55.599366 SVWZ+5600892658 56008926585600892658
8Uberweisungs-Gutschrift Hans-Peter Wand KREF+YG4967-CT2016-08-18-14 .02.23.863272 SVWZ+KDNR 580889255801/1 ZA EHLER NR 1152356 GREENPEACE 5808892558-01580889255801
9ZFml in B2[:B8]: {=GLÄTTEN(VJoin(WENN(Between(LÄNGE(VSplit(MaskOn(WENN(VLike(A2;"*# #*");ERSETZEN(A2;VLike(A2;"*# #*";-1)+1;VLike(A2;"*# #*");ZEICHEN(160));A2);"num";ZEICHEN(160))));10;10+VLike(A2;"*# #*"));VSplit(MaskOn(WENN(VLike(A2;
10                       "*# #*");ERSETZEN(A2;VLike(A2;"*# #*";-1)+1;VLike(A2;"*# #*");ZEICHEN(160));A2);"num";ZEICHEN(160)));WENN(LÄNGE(VSplit(MaskOn(A2;"num")))=12;LINKS(VSplit(MaskOn(A2;"num"));10)&"-"&RECHTS(VSplit(MaskOn(A2;"num"));2);""));;1))}
11ZFml in C2[:C8]:=--WECHSELN(StringFinden(A2;" [0-9 ?]{10,12} ?| [0-9 ?]{10,12}$|[0-9]{10} $");" ";"")  
Natürlich ist Jürgens UDF hier besser geeignet; allerdings wird ein NormalNutzer kaum selbständig Reguläre Ausdrücke eines solchen Komplexitätsgrades wie hier erforderlich bilden können…
Gruß, Luc :-?
AW: und was ist nun die gesuchte Nummer? ...
25.08.2016 19:28:57
...
Hallo Iris,
... meine Formel kann für Deinen nun bereitgestellten Beispieltext nicht greifen, weil ich 1. mit weniger Zeichen in A1 gerechnet hatte (kann in der Formel noch einfach berücksichtigt werden) und ich 2. und das ist das entscheidende nicht damit gerechnet hatte, dass im Text eine weitere Ziffernfolge mit mehr als 10 Zeichen vorkommen kann.
Aber nun stellt sich mir die Frage was im Text ist denn Deine eigentlich gesuchte Kontonummer?
Die, die Backowe angenommen hatte? Aus Deinem Text ist jedoch ersichtlich dass dies eine Mitgliedsnummer ist, die allerdings als einzige 10 Ziffern aufweist.
Steht der gesuchten Nummer vorangestellt immer "Nr"? Dann ist es so einfach, wie Backowe Dir aufgezeigt hat. Wenn nicht, dann bedarf es eindeutigere Angaben Deinerseits.
Gruß Werner
.. , - ...

315 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige