Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
264to268
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
264to268
264to268
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

nur Textteil ausgeben

nur Textteil ausgeben
05.06.2003 14:58:28
Megatron (Jens)
Hallo,
ich möchte aus einer Textzeile nur einen bestimmten (aber variablen) Teil in eine andere Zelle ausgeben lassen. Miitels des Befehls Right würde das gehen, wenn dieser Teil immer gleich groß wäre, dies ist er aber nicht.
z.B. Right(name, 10)
Gibt es eine Möglichkeit ein Sonderzeichen wie § als Begrenzung anzugeben (ab hier Text nehmen).
z.B.
name§text
daraufhin wird in neuer zelle nur noch text ausgegeben.

Wäre für Anregungen sehr dankbar!

Gruß
Jens

24
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: nur Textteil ausgeben
05.06.2003 15:09:43
ingo

hallo jens,

wenn in a1 der text steht funzt folgende formel:

=WENN(ISTFEHLER(FINDEN("§";A1;1));"";TEIL(A1;FINDEN("§";A1;1)+1;999))

Gruß Ingo

Geht nur z.T.
05.06.2003 15:14:00
Megatron (Jens)

Hallo Ingo,
das funktioniert ganz gut, allerdings gibt es auch Texte mit mehreren § darin, somit schneidet er mit nur den ersten ab!

Vielleicht gibt es noch eine bessere Variante.

Trotzdem schon mal danke!
Gruß
Jens

Re: Geht nur z.T.
05.06.2003 15:17:57
PeterG

Hallo Ingo,

warum nimmst du nicht ein anderes Sonderzeichen als Begrenzer, das sonst nie vorkommen kann?

Gruß
Peter

Ich bekomme die Daten so! o.T.
05.06.2003 15:19:17
Megatron (Jens)

...

Re: Menü Daten/Text in Spalten
05.06.2003 15:22:40
Nike

Hi,
warum gehst du nicht über das Menü Daten/Text in Spalten
und splittest dann nach dem §

Bye

Nike

Anzeige
Ginge auch so ..
05.06.2003 15:28:49
PeterG

Hallo Ingo,

es geht auch mit folgender benutzerdefinierten Funktion

Function Teiltext(Z As Range) As String
Dim n%
Application.Volatile (True)
If InStr(Z.Value, "§") > 0 Then
For n = Len(Z) To 1 Step -1
If Mid(Z, n, 1) = "§" Then
Teiltext = Right(Z, Len(Z) - n)
End If
Next
End If
End Function

Wenn dein Text in A1 steht mußt z.B. in B1 =Teiltext(A1) setzen.
Gruß
Peter

War zu einfach!
05.06.2003 15:30:02
Megatron (Jens)

Hallo Nike,
wiedermal Danke!

Die Variante war mir zu einfach!

Klappt aber natürlich wunderbar, ich brauche jetzt nur noch die letzte gefüllte Spalte zu übernehmen.

Danke
Gruß
Jens

Anzeige
matrixformel
05.06.2003 15:31:43
ingo

Hallo Jens,
dann gehts mit einer matrixformel:

=WENN(ISTFEHLER(FINDEN("§";A1;1));"";TEIL(A1;MAX(WENN(ISTFEHLER(FINDEN("§";A1;ZEILE(A1:A999)));0;FINDEN("§";A1;ZEILE(A1:A999))))+1;999))

abschließen mit Strg-Shift-Enter

gruß Ingo


Sorry, für Ingo statt Jens (o.T.)
05.06.2003 15:32:25
PeterG



Re: Sorry, für Ingo statt Jens (o.T.)
05.06.2003 15:38:12
Megatron (Jens)

Auch wenn es nicht für mich war:
Deine Variante geht auch nur bis zum ersten Zeichen!

Gruß Jens

Super!
05.06.2003 15:39:56
Megatron (Jens)

Hallo Ingo,
danke das klappt toll mit der Array-Formel (ps: ist Boris in der Nähe; das ist doch eigentlich seine Spezialität!).

Ganz herzlichen Dank!
Gruß
Jens

Re: Ja ja, die Kirche und das Dorf ;-)
05.06.2003 15:42:45
Nike

Hi,

freut mich,
das manchmal auch die einfachen Ansätze funken ;-)

Bye

Nike

Anzeige
Re: Ja ja, die Kirche und das Dorf ;-)
05.06.2003 15:46:34
Megatron (Jens)

Habe glaube ich mit meinen gut 100kg gerade voll auf meiner eigenen Leitung gestanden.
Diese Variante hätte mir auch selbst einfallen können!

nochmal Danke!
Gruß
Jens

matrixformel - 44 kürzer ;-)
05.06.2003 15:59:00
Boris

Hi Ingo,

{=WENN(ANZAHL(FINDEN("§";A1));TEIL(A1;MAX((TEIL(A1;SPALTE(1:1);1)="§")*SPALTE(1:1))+1;99);"")}

Grüße Boris

Ja, ich bin in der Nähe;-)) - siehe oben oT
05.06.2003 15:59:50
Boris



Richtig ..
05.06.2003 16:00:19
PeterG

Hi Jens,

ich hatte (wohl falsch) verstanden, daß bei mehreren § der Text rechts vom letzten § übernommen werden soll. Hat sich erledigt, die Lösung von Nike spricht für sich.

Gruß
Peter

Und nochmals 24 weniger mit:
05.06.2003 16:10:06
Boris

{=TEIL("§"&A1;MAX((TEIL("§"&A1;SPALTE(1:1);1)="§")*SPALTE(1:1))+1;99)}

So spart man sich noch das WENN...

Boris

Anzeige
Ist hier der Kurzfassungswettbewerb? o.T.
05.06.2003 16:34:49
Megatron (Jens)

...

Na, wenn schon, denn schon;-)) oT
05.06.2003 16:36:00
Boris



Alles klar! Danke an alle!!! o.T.
05.06.2003 16:37:07
Megatron (Jens)

...

Alles klar! Danke an alle!!! o.T.
05.06.2003 16:37:16
Megatron (Jens)

...

nochmal kürzen
05.06.2003 16:51:27
Ingo

hallo Boris,
obwohl Du wirklich fast alle kniffe genutzt hast (sehr hilfreich für die zukunft) gibt's auch in Deiner kurzen lösung noch potential zum kürzen:

=TEIL(A1;MAX((TEIL("§"&A1;SPALTE(1:1);1)="§")*SPALTE(1:1));99)


Gruß Ingo


Ist auch logisch...
05.06.2003 17:12:04
Boris

Hi Ingo,

erst &"§" voranstellen, und dann wieder +1 - das muss man kürzen können;-))

Alles klar!

Gruß Boris

Re: Ist auch logisch...
06.06.2003 07:59:01
Megatron (Jens)

Morgen Leute,
ich hätte nicht gedacht, dass meine kleine Anfrage so einen Wirbel verursacht. Würde aber sagen, dass die letzte Variante von Ingo wohl kaum noch zu toppen ist. Da freut sich der Speicher des Rechners. Auch wenn ich gestern Abend schon gedacht hatte mein Rechner hätte sich verabschiedet, nachdem ich die Funktion in einem Makro eingebettet hatte. Die Tabelle enthält immerhin fast 7500 Zeilen.
Hat ein nischen gedauert -grins-!

Danke für Eure tolle Hilfe!
Gruß
Jens

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige