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

Zahl aus Text extrahieren (best.Format)

Zahl aus Text extrahieren (best.Format)
15.07.2021 11:23:57
Chris--
Hallo zusammen,
ich suche einen Weg wie ich bestimmte Zahlen aus meinen Gefüge aus Text und Zahlen heraus extrahieren kann.
Meine Text-Zahl-Gefüge unterliegen alle einem bestimmten Format.
BlaBla - Bla4Bl1a5 7,5 cm
- Perspektive RECHTS:
a) mir geht es um die Zahl die vor "cm" kommt. "cm" ist ein Kriterium, sollte kein "cm" auftauchen, muss keine Zahl ausgelesen werden
b) es geht konkret um die Zahl, die zwischen dem ersten und den zweiten Leerzeichen nach "cm" folgt (Perspektive RECHTS)
c) die Zahl kann mit Komma oder ohne sein, mehr- oder einstellig
d) Zahlen können innerhalb der angesprochenen Zelle auch an anderen Positionen vorkommen (wie oben im Bsp. zu sehen "Bla4Bl1a5") --- Verweis auf a), diese sollen ignoriert werden und müssen nicht ausgelesen werden
e) "cm" bildet, wenn vorhanden, immer die letzten beiden Stellen des Text-Zahlen-Gefüges
Ich hoffe ich habe es verständlich beschrieben!
Würde mich sehr über Hilfe freuen, im Netz hab ich nichts für diesen spezifischen Fall gefunden
Viele Grüße,
Chris

30
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: z.B. wie folgt ...
15.07.2021 11:32:27
neopa
Hallo Chris,
... wenn der Wert in A1 steht: =WENNFEHLER(--VERWEIS(9^9;1*RECHTS(LINKS(A1;FINDEN(" cm";A1)-1);SPALTE(A1:P1)));"")
Gruß Werner
.. , - ...
AW: z.B. wie folgt ...
15.07.2021 11:39:19
Chris--
Hallo Werner,
vielen, vielen Dank, wieder mal superschnell!!!
Funktioniert perfekt.
Eine Frage zum Verständnis: warum "SPALTE(A1:P1)", also warum Bereich A1:P1, das verstehe ich nicht?
Vielen Dank
Gruß,
Chris
AW: gerne ...
15.07.2021 11:47:45
neopa
Hallo Chris,
... zu Deiner Zusatzfrage: =SPALTE(P1) ergibt als Ergebnis 16 und somit ergibt die Teilformel SPALTE(A1:P1) eine Matrix {1.2.3 ...16}
Es wird damit bis zu 16 Zeichen gesucht, ob diese zusammenhängend eine Zahl ist oder nicht. Da Excel nur mit einer Genauigkeit von max 15 Stellen arbeitet, wäre eine solche Zeichenkette aus Ziffern schon nicht mehr eindeutig als Zahl darstellbar. In Deinem spez. Fall dürfte sehr wahrscheinlich sogar anstelle SPALTE(A1:P1) folgende Teilformel SPALTE(A1:E1) völlig ausreichend sein.
Gruß Werner
.. , - ...
Anzeige
Danke noch für die Erläuterung @Werner owT
15.07.2021 12:13:03
Chris--
owT
AW: bitteschön owT
15.07.2021 12:21:08
neopa
Gruß Werner
.. , - ...
AW: Danke noch für die Erläuterung @Werner owT
15.07.2021 12:49:48
Daniel
Wobei es, wenn Zahlen nicht länger sind als 5-6 Zeichen, sinnvoller ist die Matrix {1;2;3;4;5;6} in die Formel zu schreiben anstelle von Spalte(A1:F1)
Das Problem ist, wenn du die Tabelle mal weiter bearbeitest und vielleicht die Spalte B löschst, dann passt Excel die Zellbezüge an und aus "A1:F1" wird "A1:E1" womit dir plötzlich eine Stelle fehlt.
Solltest du die Zeile 1 löschen bekommst du den #Bezug-Fehler.
Die Matrix-Konstante {1;2;3;4;5;6} wäre von solchen Änderungen nicht betroffen.
Das Spalte(...) nimmt man dann, wenn man viele Stellen braucht und die Matrixkonstante zu lang wird.
Gruß Daniel
Anzeige
2 Workarounds
15.07.2021 15:05:55
lupo1
...SPALTE(INDIREKT(... statt SPALTE(
...SEQUENZ(;16)... (bei neuem Excel)
Geht auch ganz ohne das (s.u.)! owT
16.07.2021 04:12:25
Luc:-?
:-?
Einmalreferenz A1 mit GLÄWEXWDH
15.07.2021 14:55:56
lupo1
B1: =WENNFEHLER(1/(1/GLÄTTEN(LINKS(RECHTS(WECHSELN(A1;" ";WIEDERHOLEN(" ";99));199);99)));"")
AW: dies prüft so nicht auf "cm" owT
15.07.2021 15:48:20
neopa
Gruß Werner
.. , - ...
Dann lies mal die Vorgabe e)
15.07.2021 18:16:09
lupo1
AW: hab ich und auch a) owT
15.07.2021 21:46:36
neopa
Gruß Werner
.. , - ...
ich auch
15.07.2021 22:02:08
lupo1
AW: und was ist dann mit "Text 22 kg"? owT
15.07.2021 22:33:02
neopa
Gruß Werner
.. , - ...
Von kg war keine Rede. Es gibt nur cm oder nix
15.07.2021 23:33:17
lupo1
... behaupte ich mal. Sonst hätte es bestimmt mehr als 1 einziges Beispiel gegeben. Und wenn das nicht, dann einen Hinweis, dass es außer cm auch andere Einheiten geben könne.
AW: dem ist nicht so ...
16.07.2021 10:08:30
neopa
Hallo lupo,
... denn Chris hat eindeutig geschrieben:
in a): ... sollte kein "cm" auftauchen, muss keine Zahl ausgelesen werden und
in e) "cm" bildet, wenn vorhanden, immer die letzten beiden Stellen des Text-Zahlen-Gefüges
Danach könnte auch einen Textwert wie z.B.: "bla 12 blabla 34 blablabla"
und dafür wirft Deine Formel die unerwünschte Zahl 34 aus.
Gruß Werner
.. , - ...
Anzeige
Streng sprach-mengenlehremäßig hast Du recht ...
16.07.2021 17:04:32
lupo1
... aber ich vermute, dass TE meine Vermutung so nur nicht ausgeschrieben hat.
Du verstehst doch auch Mrs. neopa (falls es eine gibt), wenn sie etwas indirekt sagt, was aber in eine ganz andere Richtung möchte ;)
Sie sagt "Du könntest mir etwas helfen", und Du verstehst: "Oh, da steht noch der Mülleimer oder die Leergutkiste."
AW: Deine Betreffaussage verstehe ich ja noch owT
16.07.2021 19:02:20
neopa
Gruß Werner
.. , - ...
Wir werden es von Chris2Minus nicht erfahren ...
16.07.2021 19:33:37
Chris2Minus
Brauche ich nicht, ...
16.07.2021 04:09:56
Luc:-?
…Lupo,
habe dafür längst was (1.Versuche zT schon vor ca 18 Jahren)… ;-)
Für Rückwärtssuche würde ich hier die UDF VLike verwenden:
=WENN(RECHTS(A1;3)=" cm";ERSETZEN(A1;1;VLike(A1;"* #*[,0-9]* cm";-1);"");"")
Aber das wäre mir noch zu lang, denn es geht auch kürzer mit den UDFs Splint bzw VSplit, nebst UDF CountOn:
=WENN(RECHTS(A1;3)=" cm";--Splint(A1;;CountOn(A1;" "));"")
=WENN(RECHTS(A1;3)=" cm";INDEX(VSplit(A1;;1);CountOn(A1;" "));"")
In Splint ist quasi INDEX integriert, in VSplit die Umwandlung von TextZahlen, während CountOn hier die Leerzeichen zählt.
ArchivLinks zu den UDF-Pgmm:
Splint (Vs1.2) https://www.herber.de/forum/archiv/1584to1588/1584372_Werte_in_einer_Spalte_in_Excel_trennen.html#1584465
VSplit (Vs1.1) https://www.herber.de/bbs/user/99024.xlsm (BspDatei m.UDFs)
VLike (Vs1.4 m.BedKomp) https://www.herber.de/bbs/user/137167.xlsm (BspDatei m.UDF)

Morhn, Luc :-?
„Die universelle Befähigung zur Unfähigkeit macht jede menschliche Leistung zu einem unglaublichen Wunder.“ Stapps ironisches Paradoxon
Anzeige
Du nicht. Aber: .xlsm-Verbot in Unternehmen ...
16.07.2021 06:55:48
lupo1
... und, nicht zu vergessen, bei WF.
Wobei das letztere nicht ganz zutrifft. Denn für xl4-Makrofunktionen muss auch er als .xlsm abspeichern. Aber er braucht sie - zumindest in seinen Finanzmodellen - nicht.
Das ist ja der Wahnsinn, ...
16.07.2021 11:18:25
Luc:-?
…Lupo,
VBA (oder gar .xlsm/b) verbieten, aber ansonsten zuwenig in Datenschutz und -sicherheit investieren. Woher kommen denn die Verschlüsselungs- u.a. HackerAngriffe? Aus dem Internet über private Sticks (Bilder u.a.) oder per eMail bzw ganz regulär per automatischem Software-Update. Welcher kriminelle Hacker benutzt noch/denn VBA‽
Bleibt eigentlich nur die Nicht-Weitergabe-Möglichkeit von UDF-Fmln ohne PgmCode, was für Subprozeduren ohnehin gilt. Und Fmln sollte man nur in Ausnahmefällen, zB Zuarbeitstabellen, extern weitergeben.
Luc :-?
Anzeige
Du kannst das gern so bewerten ;)
16.07.2021 17:00:18
lupo1
... aber ich kann nichts gegen das .XLSM-Verbot tun. Es ist einfach da. Immer noch. und immer wieder.
Außerdem: "Welcher Hacker ... benutzt denn VBA?"
Genau. Aufgrund des .XLSM-Verbots keiner (mehr). Es gab früher durchaus Fälle von VB- oder VBA-Viren. Die Firmen haben bei den "VBA-Autos" eine "Lenkradkralle" befestigt, und die marodierenden Banden ziehen daher weiter zu den leichter knackbaren Vehikeln.
"Formeln nicht weitergeben" ... wie meinst Du das?
16.07.2021 17:15:25
lupo1
Wegen Offenlegung von Rechenschritten?
Verrat von Betriebsgeheimnissen?
Jetzt schon wg unterschiedl Xl-Versionen, ...
17.07.2021 02:01:33
Luc:-?
…Lupo,
ansonsten, damit nicht aus Aggregationen und komplexen Berechnungen (leichter) Rückschlüsse auf ggf interessante Primärdaten gezogen wdn können. Die Statistik kennt da einige ausgefeilte Methoden…
Übrigens, VB und seine Derivate gelten in der Pgmmierwelt eher als marginal. Damit kommt man idR nicht allzuweit.
Morhn, Luc :-?
Anzeige
OT: Ist das hier neu? (Anzahl Beiträge)
15.07.2021 18:37:50
lupo1
Angaben zu dieser Nachricht: Angaben des Fragestellers:
Name/vom: lupo1 vom 15.07.2021 14:55:56 - bisher 5038 Beiträge xlVersion: Ohne Relevanz
Betreff: Einmalreferenz A1 mit GLÄWEXWDH Level: Basiskenntnisse in Excel
Anzeige
AW: ja owT
15.07.2021 21:48:47
neopa
Gruß Werner
.. , - ...
AW: Zahl aus Text extrahieren (best.Format)
16.07.2021 15:37:12
Daniel
also wenn e) so gemeint ist dass nach "cm" kein Text mehr kommen kann ggf mit Lupos Ansatz, dh die Suche nach dem Vorletzten Wort, wenn das letzte Wort "cm" ist.
=WENN(RECHTS(A1;2)"cm";"";GLÄTTEN(RECHTS(WECHSELN(WECHSELN(A1;" cm";"");" ";WIEDERHOLEN(" ";100)); 100)))
Gruß Daniel

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige