Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zahl aus Text auslesen

Zahl aus Text auslesen
Max
Hallo Forumsgemeinde,
ich muss aus den Zellen einer Spalte mit beliebigem, d. h. unterschiedlichem Fließtext, eine i.d.R. dort vorkommende 6-stellige (jeweils unterschiedliche) Zahl auslesen und habe keinen Plan, wie das gehen soll. Nachdem auch kürzere Zahlen im Fließtext vorkommen können, ist dabei wichtig, dass tatsächlich nur die 6-stelligen Zahlen ausgelesen werden. Im Archiv habe ich nichts passendes gefunden.
Kann mir jemand weiterhelfen?
Danke schon mal vorab.
Max
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zahl aus Text auslesen
30.05.2012 11:41:20
Rudi
Hallo,
=VERWEIS(9^9;1*TEIL(WECHSELN(A1;" ";"#")&"#";SPALTE(1:1);6))
Ergibt #NV wenn keine 6-stellige Zahl vorkommt.
Gruß
Rudi
GENIAL! VIELEN DANK!!!
30.05.2012 11:52:34
Max
GENIAL! VIELEN DANK!!!
Verstanden hab ich es noch nicht, es funktioniert aber super!
AW: GENIAL! VIELEN DANK!!! Allerdings....
30.05.2012 12:05:00
Rudi
... wenn hinter der 6-stelligen eine Zahl mit mehr Stellen vorkommt, werden deren letzte 6 Stellen ausgegeben.
Gruß
Rudi
Anzeige
AW: 63814 Mainaschaff
30.05.2012 13:07:01
Rudi
Hallo,
ja sicher erinnere ich mich. Da hab ich sie her.
War eigentlich eine Gemeinschaftsproduktion mit Neopa.
Den müsstest du auch als Autor erwähnen.
Gruß
Rudi
Anzeige
@Ransi, regexp?
30.05.2012 11:51:54
Reinhard
Hallo Max,
so wie ich das sehe wäre in Vba regexp dafür gut geeignet, leider habe ich davon nicht die
geringste Ahnung. Aber Ransi kann das, jetzt verstehste wohl meinen Betreff.
Gäbe es nur eine Zahl im Zellentext könntest du das nehmen:
http://excelformeln.de/formeln.html?welcher=102
Aber es können ja wohl mehrere Zahlen vorkommen und du willst nur die mit 6 Stellen.
Was soll eigentlich geschehen wenn da mehrere 6-stellige Zahlen sind?
Oder kommt das NIE vor.
Aus der Formel bei excelformeln.de könnte ich dir vllt. mit Benutzung von Hilfsspalten eine
Lsg. schnitzen.
In Vba kann ich das auch lösen, aber die Denkansätze die ich bislang dazu hatte erscheinen mir
noch gewaltig otimierungsfähig :-)
Deshalb Frage auf noch offen gestellt.
Gruß
Reinhard
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zahl aus Text extrahieren in Excel


Schritt-für-Schritt-Anleitung

Um aus einer Zelle nur die 6-stellige Zahl auszulesen, kannst du die folgende Formel verwenden:

=VERWEIS(9^9;1*TEIL(WECHSELN(A1;" ";"#")&"#";SPALTE(1:1);6))

Hier ist, wie du vorgehst:

  1. Zelle auswählen: Wähle die Zelle aus, in der sich der Text mit der Zahl befindet (z.B. A1).
  2. Formel eingeben: Kopiere die obige Formel in eine andere Zelle.
  3. Ergebnis überprüfen: Die Formel gibt die 6-stellige Zahl zurück, wenn sie im Text vorhanden ist. Andernfalls wird ein Fehler (#NV) angezeigt.

Häufige Fehler und Lösungen

  • Fehler #NV: Dieser Fehler tritt auf, wenn keine 6-stellige Zahl im Text vorhanden ist. Stelle sicher, dass der Text in der Zelle tatsächlich eine 6-stellige Zahl enthält.
  • Falsche Zahlen: Wenn die Formel mehr als eine Zahl findet, gibt sie die letzten 6 Ziffern der letzten Zahl im Text zurück. Um sicherzustellen, dass nur die erste 6-stellige Zahl ausgegeben wird, kann die Formel angepasst werden.

Alternative Methoden

Eine weitere Möglichkeit, um die 6-stellige Zahl aus einem Text zu extrahieren, ist die Verwendung von VBA (Visual Basic for Applications). Hierzu kannst du ein einfaches Skript schreiben, das Regex verwendet. Hier ist ein Beispiel:

Function ExtractSixDigitNumber(cell As Range) As String
    Dim regEx As Object
    Set regEx = CreateObject("VBScript.RegExp")

    regEx.Pattern = "\b\d{6}\b"
    regEx.Global = True

    If regEx.Test(cell.Value) Then
        ExtractSixDigitNumber = regEx.Execute(cell.Value)(0)
    Else
        ExtractSixDigitNumber = "Keine 6-stellige Zahl"
    End If
End Function

Du kannst diese Funktion in einem Modul in Excel einfügen und dann in einer Zelle wie folgt verwenden:

=ExtractSixDigitNumber(A1)

Praktische Beispiele

Angenommen, in Zelle A1 steht der Text "Die Auftragsnummer ist 123456 und endet hier". Mit der oben genannten Formel wird 123456 als Ergebnis zurückgegeben.

Ein weiteres Beispiel: Wenn der Text "Die ID ist 987654 und die Serie ist 123" in Zelle A2 steht, wird die Formel ebenfalls 987654 ausgeben.


Tipps für Profis

  • Wenn du häufig mit solchen Aufgaben arbeitest, speichere die Formel oder das VBA-Skript in einer benutzerdefinierten Excel-Vorlage.
  • Nutze die Funktion Datenüberprüfung, um sicherzustellen, dass nur die richtigen Werte eingegeben werden, bevor du versuchst, die Zahlen aus der Zelle auszulesen.
  • Du kannst auch zusätzliche Bedingungen in die Formeln einfügen, um nur bestimmte Texte oder Zahlen zu extrahieren.

FAQ: Häufige Fragen

1. Wie kann ich die Formel anpassen, um nur die erste gefundene 6-stellige Zahl zurückzugeben?
Du kannst die Formel so anpassen, dass sie nur die erste Übereinstimmung zurückgibt, indem du die Funktion INDEX verwendest.

2. Ist diese Methode auch für andere Zahlenlängen anwendbar?
Ja, du kannst die Formel anpassen, um Zahlen mit unterschiedlichen Längen zu extrahieren, indem du die Zahl in der Formel änderst. Zum Beispiel für 5-stellige Zahlen, ändere 6 in 5.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige