Text innerhalb einer Zelle finden und dann Folgezeichen ausgeben.?

2 Antworten

=TEIL(A1;FINDEN("Wid:";A1)+4;3)

Klappt es?

P.S.:
Wenn Du mit der Zahl weiter rechnen willst, dann:

=TEIL(A1;FINDEN("Wid:";A1)+4;3)*1

Gibt aber eine Fehler, wenn da keine Zahl steht, sondern Text.


Woher ich das weiß:Berufserfahrung – IT-Administrator (i.R.)

RBMannheim 
Fragesteller
 28.06.2017, 18:09

Kann ich jetzt noch nicht testen. Bin nicht mehr bei der Arbeit. Aber morgen früh probiere ich das gleich mal.

2
Oubyi, UserMod Light  28.06.2017, 18:11
@RBMannheim

Danke für die Rückmeldung.
Wenn ich Dich nicht falsch verstanden habe - und das ist unwahrscheinlich, da Deine Fragestellung sehr schön klar ist - dann sollte das klappen.

0
RBMannheim 
Fragesteller
 29.06.2017, 07:06
@Oubyi, UserMod Light

So, habe das mal getestet. Klappt im Prinzip einwandfrei. Jedoch ist die Tabelle sehr unhomogen, so dass als Ergebnis teils auch unbrauchbare Inhalte herauskommen. Nämlich dann, wenn die Zahl nach Wid: nicht exakt drei stellen hat, z.B 52,4 oder 77 (dann kommt dazu der nächste Buchstabe).

0
Oubyi, UserMod Light  29.06.2017, 15:26
@RBMannheim

So, wie Du die Frage gestellt hast, bin ich davon ausgegangen, dass immer 3 Stellen als Zahl vorkommen.
Kann man denn davon ausgehen, dass nach der Zahl hinter Wid: immer eine Leerstelle ist?
Oder kann man davon ausgehen, dass immer "Des" folgt?
Also welche Regelmäßigkeit kann ich auswerten?

P.S.:
Oder teste mal diesen Lindwurm:

=(TEIL(A1;FINDEN("Wid:";A1)+4;1)&WENN(ODER(ISTZAHL(TEIL(A1;FINDEN("Wid:";A1)+5;1)*1);TEIL(A1;FINDEN("Wid:";A1)+5;1)=",");TEIL(A1;FINDEN("Wid:";A1)+5;1);"")&WENN(ODER(ISTZAHL(TEIL(A1;FINDEN("Wid:";A1)+6;1)*1);TEIL(A1;FINDEN("Wid:";A1)+6;1)=",");TEIL(A1;FINDEN("Wid:";A1)+6;1);"")&WENN(ODER(ISTZAHL(TEIL(A1;FINDEN("Wid:";A1)+7;1)*1);TEIL(A1;FINDEN("Wid:";A1)+7;1)=",");TEIL(A1;FINDEN("Wid:";A1)+7;1);""))*1

Dabei gehe ich lediglich davon aus,  dass direkt nach "Wid:" eine Ziffer folgt und dass der ganze Wert nicht mehr als 4 Ziffern oder 3 Ziffern plus Komma enthält.
Das lässt sich aber auch problemlos innerhalb einer Minute auf mehr mögliche Stellen erweitern. Es muss nur noch ein weiterer &-Term angehängt und geringfügig angepasst werden.

Teste aber auf jeden Fall mal genau, ob ich nichts übersehen habe.
0
Oubyi, UserMod Light  29.06.2017, 15:40
@Oubyi, UserMod Light

Alternativ, aber auch nicht viel schöner zu obigen Voraussetzungen (aber schon mit 5 Stellen):

=(WENN(ISTZAHL(TEIL(A1;FINDEN("Wid:";A1)+4;5)*1);TEIL(A1;FINDEN("Wid:";A1)+4;5);WENN(ISTZAHL(TEIL(A1;FINDEN("Wid:";A1)+4;4)*1);TEIL(A1;FINDEN("Wid:";A1)+4;4);WENN(ISTZAHL(TEIL(A1;FINDEN("Wid:";A1)+4;3)*1);TEIL(A1;FINDEN("Wid:";A1)+4;3);WENN(ISTZAHL(TEIL(A1;FINDEN("Wid:";A1)+4;2)*1);TEIL(A1;FINDEN("Wid:";A1)+4;2);WENN(ISTZAHL(TEIL(A1;FINDEN("Wid:";A1)+4;1)*1);TEIL(A1;FINDEN("Wid:";A1)+4;1)))))))*1

0

Eine andere Möglichkeit wäre:

=Wechseln(A1;"Wid:";"Wid:130";1)

Das kann auch NUR FÜR DAS ZWEITE AUFTRETEN von Wid: gemacht werden: anstatt ;1) dann ;2) schreiben. Lässt man das Argument ganz weg, werden alle Wid: ausgetauscht (=erweitert um 130)

Manchmal zweckmässiger als das umständlichere Teil -insbesondere bei Mehrfach-Auftreten, manchmal auch nicht möglich, kommt drauf an.

Wechseln unterscheidet GROSS-klein und erlaubt den Ersatz eines Großbuchstabens durch nichts (=""), so dass man über die Längendifferenz diese zählen kann und andere Spielchen.


RBMannheim 
Fragesteller
 29.06.2017, 07:08

Danke für die Antwort, aber es ging nicht darum, die Zeichenfolge "Wid:" zu ersetzen, sondern darum, die Zahl, die rechts von "Wid:" steht, auszulesen.

0
Iamiam  29.06.2017, 20:58
@RBMannheim

Auch hier leistet Wechseln wertvolle Dienste für eine Verkürzung der Formel: ich tausche das erste Des gegen ein gleich langes AAA aus und nehme dann die Längendifferenz zwischen Wid und dem verbleibenden Des:

=1*TEIL(A1;SUCHEN("Wid:";A1;1)+4;SUCHEN("Des:";WECHSELN(A1;"Des";"AAA";1);1)-SUCHEN("Wid:";A1;1)-4)

Durch die Multiplikation wird das ein Leerzeichen enthaltende Teil zu einer Zahl. Hab keine Zeit mehr, das zu verfeinern.

0