Textkette nach rechts, bei einem bestimmten Zeichen abschneiden
#1
Hallo zusammen, 

ich habe folgende Herausforderung.

In Spalte A stehen folgende Textketten.
1.5.15.5
11.5.15.456
9.900.4.11.24.3

Die Anzahl der Punkte und die Länge der Texte variiert.

Das Ergebnis in Spalte B soll den Text nach dem letzten rechten Punkt incl. dem Punkt abschneiden.

1.5.15
11.5.15
9.900.4.11.24


Wie kann man das realisieren?

Vielen Dank
Antworten Top
#2
Moin!
AB
11.5.15.51.5.15
211.5.15.45611.5.15
39.900.4.11.24.39.900.4.11.24

ZelleFormel
B1=TEXTVOR(A1;".";-1)
B2=TEXTVOR(A2;".";-1)
B3=TEXTVOR(A3;".";-1)

Falls es noch nicht klappen sollte: kurze Geduld!

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • hoyerda
Antworten Top
#3
Hi,

für Ungeduldige und alte Versionen:

Code:
=LINKS(A1;SUCHEN("#";WECHSELN(A1;".";"#";LÄNGE(A1)-LÄNGE(WECHSELN(A1;".";""))))-1)
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
[-] Folgende(r) 1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag:
  • hoyerda
Antworten Top
#4
Ich hab ja vor Äonen mal den Verbesserungsvorschlag bei MS eingebracht, dass man (VBA) InStrRev() "einfach mal" auf Funktionsebene umsetzen könnte.
Die "Likes" schossen durch die Decke!
Insofern sehe ich TEXTVOR() als echte Bereicherung, vor allem für den intuitiven Neuling.
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#5
Hallo Hoyerswerda: =WECHSELN(A1;"."&--RECHTS(WECHSELN(A1;".";WIEDERHOLEN(" ";99));99);)
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Antworten Top
#6
(20.06.2022, 19:04)LCohen schrieb: Hallo Hoyerswerda:

Da liest jemand mit!
Aber mal im Ernst:
Dass mir jemand die Nazi-Keule entgegen schleudert, hätte ich mir niemals nie nicht vorstellen können!
Wer hier mitten im Ruhrpott (analog im Umfeld von Bremen) mit Multikulti nicht klar kommt, sollte die Flucht ergreifen!
Prima, dass Dein Urlaub vorbei ist!  19
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#7
Hi,

hier noch eine ganz altmodische Variante:

=LINKS(A1;MAX((TEIL(A1;ZEILE(2:99);1)=".")*ZEILE(1:98)))

@Ralf: TEXTVOR / NACH / TEILEN sind a) super einfach und b) längst überfällig, zumal sie auch super simpel zu programmieren sind. Also endlich eine echte Vereinfachung.
Antworten Top
#8
Meine Lösung war falsch, da WECHSELN bei 1.466.1.466 dann 1.1 ergäbe.
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Antworten Top
#9
Moin zusammen und vielen Dank für die Lösungen.

Der Code macht genau das was er soll. Jetzt muss ich mir nur noch die Logik reinziehen damit ich es auch verstehe Wink

MEGA - Danke


Code:
=LINKS(A1;SUCHEN("#";WECHSELN(A1;".";"#";LÄNGE(A1)-LÄNGE(WECHSELN(A1;".";""))))-1)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste