Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

nur Textteil ausgeben

Forumthread: 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

Anzeige

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

Anzeige
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

Anzeige
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

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


Anzeige
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

Anzeige
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

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

Anzeige
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)

...

Anzeige
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

Anzeige
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
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige