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

Letzten Wert bis Leerzeichen aus Zelle auslesen

Letzten Wert bis Leerzeichen aus Zelle auslesen
13.10.2017 07:20:36
Boernie
Hallo,
in einer Reihe von Zellen sind unterschiedliche Anzahl von Nummern, getrennt mit Leerzeichen. Davon möchte ich immer nur die jeweils letzte Nummer auslesen.
Beispiel:
24 27746 1234134 234
345645 345 47
4567 1234234 345 35324534 4524
54676 2342 5 45 345224 23423452
Die Formel: =RECHTS(A1;(FINDEN(" ";A1;1)-1))
bringt als Ergebnis:
34
345 47
4524
23452
Auch Mr. Google bringt mich nicht weiter.
Kann ihr mir hier bitte eine Lösung bieten?
Vielen Dank schon mal

27
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Letzten Wert bis Leerzeichen aus Zelle auslesen
13.10.2017 07:31:26
hary
Moin
Vlt. gibt es noch eine andere Loesung.



Tabelle1
 AB
124 27746 1234134 234234
2345645 345 4747
34567 1234234 345 35324534 45244524

verwendete Formeln
Zelle Formel Bereich R1C1 für Add In
B1:B3=RECHTS(A1;LÄNGE(A1)-VERWEIS(999;FINDEN(" ";A1;ZEILE(A:A))))  =RIGHT(RC[-1],LEN(RC[-1])-LOOKUP(999,FIND(" ",RC[-1],ROW(C[-1]))))

http://excel-inn.de/dateien/vba_beispiele/tabellenanzeige_in_html_addin.zip
http://hajo-excel.de/tools.htm
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 14.02 einschl 64 Bit

gruss hary
Anzeige
AW: hier einfacher
13.10.2017 07:40:32
hary
Moin nochemal
so ist es einfacher.



Tabelle1
 AB
124 27746 1234134 234234
2345645 345 4747
34567 1234234 345 35324534 45244524

verwendete Formeln
Zelle Formel Bereich R1C1 für Add In
B1:B3=VERWEIS(9^9;1*RECHTS(A1;SPALTE(A1:IP1)))  =LOOKUP(9^9,1*RIGHT(RC[-1],COLUMN(RC[-1]:RC[248])))

http://excel-inn.de/dateien/vba_beispiele/tabellenanzeige_in_html_addin.zip
http://hajo-excel.de/tools.htm
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 14.02 einschl 64 Bit

aus: http://www.excelformeln.de/formeln.html?welcher=101
gruss hary
Anzeige
AW: hier einfacher
13.10.2017 08:39:59
Boernie
Hallo Hary,
vielen Dank für die schnelle Antwort, funktioniert auch fast perfekt.
Nur wenn der Wert länger als 8 Zeichen ist werden die Zeichen ab der 9. nicht ausgelesen.
Gruss
Boernie
AW: Letzten Wert bis Leerzeichen aus Zelle auslesen
13.10.2017 08:31:36
Boernie
Hallo,
vielen Dank für die schnelle Antwort, funktioniert auch fast perfekt.
Nur wenn der letzte Wert mehr als 8 Zeichen lang ist, werden die Zeichen ab der 9. nicht mit ausgelesen.
Danke
Boernie
AW: dann statt 9^9 nutze 9^99, allerdings ...
13.10.2017 08:55:35
...
Hallo Boerni,
... das Excel wegen seiner Rechengenauigkeit auch nur Zahlen bis max 15 Stellen exakt ausgeben kann. Wenn das Dir nicht reichen sollte, kann man mit einer etwas abgeänderten Formel nur eine Zeichenkette von Ziffern ausgeben.
Für eine Zahl bis max 15 Stellen so:
=VERWEIS(9^99;1*RECHTS(A1;ZEILE(A$1:INDEX(A:A;LÄNGE(A1)))))
Gruß Werner
.. , - ...
Anzeige
AW: ach so, Formel für Zeichenkette ...
13.10.2017 09:00:47
...
Hallo,
... dann so: =TEIL(A1;VERWEIS(9;1/(TEIL(A1;ZEILE(A$1:INDEX(A:A;LÄNGE(A1)));1)=" ");ZEILE(A:A))+1;99)
Gruß Werner
.. , - ...
da steht bei uns was einfacheres
13.10.2017 09:12:36
WF
Hi,
{=RECHTS(A1;ANZAHL(RECHTS(A1;SPALTE(A1:IQ1))*1))}
WF
AW: gilt allerdings nur für Zifferfolgen ...
13.10.2017 09:29:32
...
Hallo WF,
... sobald ein alphanumerisches Zeichen eingebunden ist, wird dies als Trennzeichen interpretiert.
Da dies gemäß Beispieldaten hier im thread nur so benötigt wird, kann das Boernie ja nutzen.
Gruß Werner
.. , - ...
AW: Letzten Wert bis Leerzeichen aus Zelle auslesen
13.10.2017 11:29:19
Boernie
Hallo an alle,
vielen Dank für die Hilfe !!!
ich hab' die Formel
=VERWEIS(9^99;1*RECHTS(A1;ZEILE(A$1:INDEX(A:A;LÄNGE(A1)))))
genutzt, funktioniert bestens.
Danke nochmal
Boernie
Anzeige
da ist dann allerdings bei 15 Stellen Sense
13.10.2017 11:50:22
WF
Hi,
obige Arrayformel ist da nicht beschränkt:
{=RECHTS(A1;ANZAHL(RECHTS(A1;SPALTE(A1:IQ1))*1))}
WF
Vergleich bei 2^20 Einsätzen
13.10.2017 12:59:44
lupo1
WF: 350 Sekunden theoretisch. Da aber Obergrenze bei 2^16 Matrixformeln (?), hier getestet bei 2^15 Einsätzen mit 11 Sekunden.
neopa: 126 Sekunden theoretisch. Da jedoch Absturz bei 2^20 Einsätzen, hier getestet bei 100.000 Einsätzen mit 12 Sekunden.
meine Lösung: 5 Sekunden, ohne jede Einschränkung. Die Antworter kennen diese Lösung.
Arrayformel ist aus anderer Aufgabenstellung
13.10.2017 13:59:34
WF
Hi,
das war Zahl von Text trennen (ohne Leerzeichen)
http://excelformeln.de/formeln.html?welcher=101
Da kann man mit Deiner Formel null anfangen.
WF
Anzeige
Aha
13.10.2017 14:11:43
lupo1
Zitat:
in einer Reihe von Zellen sind unterschiedliche Anzahl von Nummern, getrennt mit Leerzeichen. Davon möchte ich immer nur die jeweils letzte Nummer auslesen.
Meine Formel hält sich nicht auf mit Text oder Zahl, sondern ergibt einfach den letzten Eintrag, der hier gleichbedeutend ist mit letzter Zahl, siehe Zitat:
=GLÄTTEN(TEIL(WECHSELN(A1;" ";WIEDERHOLEN(" ";99));(LÄNGE(A1)+1-LÄNGE(WECHSELN(A1;" ";)))*99-98;99))

Vor allem schabt sie sich nicht unnötig langsam zeichenweise wie ein Kernspintomograph durch einen zu analysierenden Körper.
Ist es wirklich Zahl, dann:
=--TEIL(WECHSELN(A1;" ";WIEDERHOLEN(" ";99));(LÄNGE(A1)+1-LÄNGE(WECHSELN(A1;" ";)))*99-98;99)

Ich habe die Formel nun doch genannt, da ich nicht sicher bin, ob Du sie gemeint hattest.
Anzeige
ist ja OK
13.10.2017 14:24:35
WF
Hi,
der erste Antworter hatte die Formel bei uns gefunden und dabei blieb man.
WF
AW: wenn mal mehr als 1/100 an Einsätzen ...
13.10.2017 15:25:16
...
Hallo Lupo,
... notwendig werden sollten, dann werde ich mich garantiert an Deine Formel erinnern.
Aber für den momentan von mir eingestellten Formelansatz brauche ich eben kaum Zeit, wie Du eben für Deine. Deine ist mir halt noch nicht so geläufig, dass ich dafür nicht mindestens 5 Minuten zum Überlegen/Suchen bräuchte. Und da wäre (für mich) dann der Vorteil der viel kürzeren Rechenzeit nur schwer wieder einzuholen.
Gruß Werner
.. , - ...
Ist akzeptiert, jedoch ...
13.10.2017 15:32:45
lupo1
... mit dem seltsamen Gefühl, dass Deine VERWEISe und AGGREGATe sehr oft eine recht kleine Obergrenze der Verwendungsanzahl zu haben scheinen.
Anzeige
AW: dafür reichen diese ...
13.10.2017 15:41:25
...
Hallo,
... für geschätzte mind. 90% der bisherigen/möglichen Einsatzfälle aus und nur dafür biete ich sie auch nur an.
Gruß Werner
.. , - ...
Kernspintomographie statt Homöopathie
13.10.2017 16:05:40
lupo1
:-)
Du fährst mit dem Auto in Deine Garage, und misst dann mit dem Zollstock, wie weit es noch zur Wand ist. Dann fährst Du wieder einen Zentimeter, steigst aus, und machst das Gleiche ... Denn die Erkenntnis des vorigen Messens ist verloren gegangen. Daher musst Du bei 33 cm noch weitere 32mal aussteigen, vergleichen und Dir sagen: Hoffentlich wird das Essen nicht kalt.
Innovativ ist anders. Und EDV ist ganz anders.
AW: Letzten Wert bis Leerzeichen aus Zelle auslesen
13.10.2017 14:30:58
Daniel
nochmal ne Variante:
=RECHTS(A1;AGGREGAT(15;6;ZEILE($Z$1:$Z$20)/(TEIL(A1;LÄNGE(A1)-ZEILE($Z$1:$Z$20);1)=" ");1))
Vorteil bei Masseneinsatz wäre, dass man die Anzahl der Schleifenumläufe (Zeile($Z$1:$Z$20) des Matrixteils der Formel an die Maximale Länge des letzten Wortes anpassen kann und nicht auf die Länge des ganzen Textes, dh man sollte mit wesentlich weniger Schleifenumläufen auskommen.
ansonsten ganz klassich, ohne Matrixfunktionalität:
=Teil(A1;finden("|";Wechseln(A1;" ";"|";Länge(A1)-Länge(Wechseln(A1;" ";"")))+1;9999)
Gruß Daniel
Anzeige
AW: gesucht war aber offensichtlich eine Zahl ...
13.10.2017 15:16:29
...
Hallo,
... denn ansonsten hätte sich Boerni wohl kaum mit seinen Beitrag 11:29 für meinen Formelvorschlag
von 8:31 bedankt. Und in dieser Formel mit =VERWEIS(9^99;1*RECHTS(A1;ZEILE(A$1:INDEX(A:A;LÄNGE(A1))))) hatte ich ich auch wie ersichtlich, den Berechnungsanteil bereits, auf das notwendige reduziert.
Und in Deiner AGGREGAT()-Formel hast Du eine willkürliche Festlegung der max Länge der zu ermittelnden Zeichenkette vorgenommen, die aber zu kurz sein könnte, wenn eine solche gesucht werden soll.
Gruß Werner
.. , - ...
die Zahl darf aber höchstens 15 Stellen haben
13.10.2017 15:26:53
WF
.
AW: die Zahl darf aber höchstens 15 Stellen haben
13.10.2017 15:37:44
Daniel
wie gesagt, die erste Formel ist für den Fall, dass man weiß, wie lang das letze Wort maximal sein kann.
Dann kann man diese Länge vorgeben und die ist wahrscheinlich kürzer als die Gesamtlänge des Textes.
Somit hat man dann immer weniger Schleifenumläufe im Matrixteil der Formel.
Wenn man die Länge nicht kennt, kann man ja die zweite Formel nehmen.
Da spielt es keine Rolle, wie lang der Gesamttext und das letzte Wort sind.
da diese Formel keine Matrixformel ist, sollte sie sehr performant sein.
Gruß Daniel
Anzeige
Fehler
13.10.2017 15:29:49
lupo1
a) Deine Formel ist falsch bei End-Zahlen &gt 15 Stellen (vermutlich "kein Problem", da Zahlen beim TE wohl nie so groß werden)
b) da "kein Problem", reicht dann auch das genauso falsche =VERWEIS(9^99;1*RECHTS(A1;ZEILE(A$1:A$16))) (16 wegen mögl. Minuszeichen)
AW: nicht wirklich, denn ...
13.10.2017 15:38:09
...
Hallo,
... ich hatte ausdrücklich in meinem Beitrag heute früh mit:
"...das Excel wegen seiner Rechengenauigkeit auch nur Zahlen bis max 15 Stellen exakt ausgeben kann" auf die Begrenzung hingewiesen.
Gruß Werner
.. , - ...
Dann mach ich mal den Daniel
13.10.2017 15:58:59
lupo1
Warum verwendest Du dann nicht ZEILE(A$1:A$16)?
AW: weil, ... hätte ich auch so tun können owT
13.10.2017 16:11:21
...
Gruß Werner
.. , - ...
Das wäre mit einer entsprd konstruierten UDF ...
14.10.2017 02:17:06
Luc:-?
…ganz einfach, Boernie:
B1:B4:{234;47;4524;23423452} ⇐ B1[:B4]:=--Splint(A1;;1;1;1)
Die UDF Splint verwendet als Default-Wert für ihr 2.Argument ein normales Leerzeichen (ASCII 32), während Arg3/4 angeben, von welcher Anfangs- bis zu welcher EndPosition aus den aufgespaltenen Werten ausgewählt wdn soll, was den zusätzlichen Einsatz von INDEX erspart. Mit dem optionalen 5.Argument kann festgelegt wdn, ob grundsätzlich immer auch der letzte Wert aus der Spal­tung als letzter Wert der ausgewählten Folge angezeigt wdn soll. Da hier nur der letzte Wert gewählt wdn soll, aber eine unter­schiedliche Anzahl von Werten in der Zelle stehen kann, ist es sinnvoll, daraus den 1.Wert zu wählen und ihn dann durch den letz­ten zu ersetzen, was erfolgt, weil ja nur ein Wert ausgewählt wurde. Mit vorangestelltem -- kann dieser Wert dann noch in eine echte Zahl gewandelt wdn, was aber nur angeraten ist, wenn er numerisch ist und nicht mehr Stellen als die erlaubte maximale Länge hat. Das 3.Argument kann hier übrigens auch weggelassen wdn, denn sein Default-Wert ist ohnehin 1.
Feedback nicht unerwünscht! Gruß, Luc :-?
Besser informiert mit …

50 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige