Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1336to1340
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
Teil einer Zelle ausgeben
29.10.2013 12:14:25
Christian
Hallo an alle
kann mir hiermit bitte jemand helfen?
Suche eine Formel, die folgendes macht:
1. Möglichkeit: Das erste Zeichen der Zelle ist entweder ein Leerzeichen oder das Zeichen 160 (sieht ebenfalls wie ein Leerzeichen aus, ist halt nur nicht das Zeichen 32), dann soll die Formel das erste Wort ausgeben, wobei wieder zwischen dem ersten und dem zweiten Wort das Zeichen 160 als auch ein Leerzeichen stehen kann
2. Möglichkeit, der Text fängt direkt mit dem ersten Wort an, dann soll das erste Wort ebenfalls ausgegeben werden, wobei das erste und das zweite Wort auch hier sowohl durch ein Leerzeichen als auch das Zeichen 160 getrennt sein können.
Seid ihr so nett und helft mir?
Danke
Chris

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Teil einer Zelle ausgeben
29.10.2013 13:09:51
Marc
Mahlzeit!
Heißt das nicht, dass du in jedem Fall das erste Wort bis zur Trennung haben willst?!?
So kriegst du die Trennstelle: (in E9 steht dein Wert)
=WENN(ISTFEHLER(FINDEN(ZEICHEN(160);E9;2));0;FINDEN(ZEICHEN(160);E9;2)) +WENN(ISTFEHLER(FINDEN(ZEICHEN(32);E9;2));0;FINDEN(ZEICHEN(32);E9;2)) 
So nimmst du dann nur das erste Wort:
=LINKS(E9;G9-1)
So sieht das in Kombination aus:
=LINKS(E9;WENN(ISTFEHLER(FINDEN(ZEICHEN(160);E9;2));0;FINDEN(ZEICHEN(160);E9;2)) +WENN(ISTFEHLER(FINDEN(ZEICHEN(32);E9;2));0;FINDEN(ZEICHEN(32);E9;2))-1) 

So wird der Text auch noch von Zeichen 160 und Zeichen 32 befreit:
=WECHSELN(WECHSELN(LINKS(E9;WENN(ISTFEHLER(FINDEN(ZEICHEN(160);E9;2));0;FINDEN(ZEICHEN(160);E9;2)) +WENN(ISTFEHLER(FINDEN(ZEICHEN(32);E9;2));0;FINDEN(ZEICHEN(32);E9;2))-1);ZEICHEN(160);"");ZEICHEN(32) ;"") 

Gruß, MCO

Anzeige
AW: Teil einer Zelle ausgeben
29.10.2013 13:13:11
Christian
Hallo Chris,
=TEIL(GLÄTTEN(WECHSELN(A1;ZEICHEN(160);ZEICHEN(32)));1;FINDEN(ZEICHEN(32);GLÄTTEN(WECHSELN(A1; ZEICHEN(160);ZEICHEN(32)));1))
Gruß
Christian

Erstes Wort eines Textes ausgeben
29.10.2013 13:39:20
Erich
Hi Chris,
in Spalte L findest du eine dritte Variante:
 ABCDEFGHIJKLMN
1Quellesichtbar Var. 1sichtb.Len Var. 2sichtb.Len Var. 3sichtb.Len
2sds asdsds#asd sdssds3 sds sdsx4 sdssds3
3sds asdsdsxasd sdssds3 sds sdsx4 sdssds3
4sds  asdsds#xasd sdsasdsdsasd6 sds sdsx4 sdssds3
5 sds    asdxsdsx#x#asd sdsassdsas5 sds sdsx4 sdssds3
6 sds    asd#sdsx#x#asd sdsassdsas5 sds sdsx4 sdssds3
7  sds    asd##sdsx#x#asd sdssds3 sds sdsx4   0

Formeln der Tabelle
ZelleFormel
B2=WECHSELN(WECHSELN(A2;" ";"x"); " ";"#")
D2=WECHSELN(WECHSELN(LINKS(A2;WENN(ISTFEHLER(FINDEN(ZEICHEN(160); A2;2)); 0;FINDEN(ZEICHEN(160); A2;2)) +WENN(ISTFEHLER(FINDEN(ZEICHEN(32); A2;2)); 0;FINDEN(ZEICHEN(32); A2;2))-1); ZEICHEN(160); ""); ZEICHEN(32); "")
E2=WECHSELN(WECHSELN(D2;" ";"x"); " ";"#")
F2=LÄNGE(D2)
H2=TEIL(GLÄTTEN(WECHSELN(A2;ZEICHEN(160); ZEICHEN(32))); 1;FINDEN(ZEICHEN(32); GLÄTTEN(WECHSELN(A2; ZEICHEN(160); ZEICHEN(32))); 1))
I2=WECHSELN(WECHSELN(H2;" ";"x"); " ";"#")
J2=LÄNGE(H2)
L2=TEIL(A2;1+ODER(LINKS(A2)={" "." "}); FINDEN(" ";WECHSELN(A2;ZEICHEN(160); " "); 2)-1-ODER(LINKS(A2)={" "." "}))
M2=WECHSELN(WECHSELN(L2;" ";"x"); " ";"#")
N2=LÄNGE(L2)

In den "sichtb."-Spalten habe ich nur die Leerzeichen sichtbar gemacht.
In {" "." "} steht vor dem Punkt ein Leerzeichen, nach dem Punkt das Zeichen 160 zwischen den Gänsefüßen.
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: Erstes Wort eines Textes ausgeben
29.10.2013 17:42:33
Christian
Hallo ihr 3,
erstmal vielen Dank.
Die Formel in D2 gibt ohne Leerzeichen dazwischen das erste Wort und den ersten Buchstaben des zweiten Worts aus.
Die Formel in H2 gibt das aus, was sie soll.
Die Formel in L2 lässt bei mir die Zelle leer.
Hänge ne Datei an, damit ihr es euch anschauen könnt.
https://www.herber.de/bbs/user/87867.xlsx

AW: Erstes Wort eines Textes ausgeben
29.10.2013 17:43:47
Christian
Hallo ihr 3,
erstmal vielen Dank.
Die Formel in D2 gibt ohne Leerzeichen dazwischen das erste Wort und den ersten Buchstaben des zweiten Worts aus.
Die Formel in H2 gibt das aus, was sie soll.
Die Formel in L2 lässt bei mir die Zelle leer, es sei denn die Zeile fängt mit dem Wort an, also kein Leerzeichen oder Z160 mehr davor.
Hänge ne Datei an, damit ihr es euch anschauen könnt.
https://www.herber.de/bbs/user/87867.xlsx

Anzeige
zweiter Versuch
29.10.2013 18:40:27
Erich
Hi Chris,
dass die L2-Formel einen leeren Text ausgab, war schon richtig. Du hattest geschrieben, dass der Text
mit keinem oder einem Leerzeichen beginnt. Er beginnt in deiner Tabelle aber mit zwei Leerzeichen.
Meine Formel gibt den leeren Text zwischen dem 1. und dem 2. Leerzeichen aus...
Hier eine neue Version in Spalte D:
 ABCDEFGHI
1  Tony Amen ... Hospital VisitorTonyATony Tony554160160
2  Diedra Arthur-O'Ree ... Restaurant DiedraADiedra Diedra776  
3  Brian Balzerini ... LinebackerBrianBBrian Brian665  
4  Dillon Becker ... Mill Grove SeniorDillonBDillon Dillon776  
5  Tiffany Bell ... Girl at ClinicTiffanyBTiffany Tiffany887  
6  Nicholas Braun ... Ponytail DerekNicholasBNicholas Nicholas998  
7  Timothy J. Breslin¹ ... PolicemanTimothyJTimothy Timothy887  
8  Atticus Cain ... Emergency Room DoctorAtticusCAtticus Atticus887  
9  Emily Callaway¹ ... Mean Freshman GirlEmilyCEmily Emily665  

Formeln der Tabelle
ZelleFormel
B1=WECHSELN(WECHSELN(LINKS(A1;WENN(ISTFEHLER(FINDEN(ZEICHEN(160); A1;2)); 0;FINDEN(ZEICHEN(160); A1;2)) +WENN(ISTFEHLER(FINDEN(ZEICHEN(32); A1;2)); 0;FINDEN(ZEICHEN(32); A1;2))-1); ZEICHEN(160); ""); ZEICHEN(32); "")
C1=TEIL(GLÄTTEN(WECHSELN(A1;ZEICHEN(160); ZEICHEN(32))); 1;FINDEN(ZEICHEN(32); GLÄTTEN(WECHSELN(A1; ZEICHEN(160); ZEICHEN(32))); 1))
D1=TEIL(A1;3;FINDEN(" ";WECHSELN(A1;ZEICHEN(160); " "); 3)-3)
E1=LÄNGE(B1)
F1=LÄNGE(C1)
G1=LÄNGE(D1)
H1=CODE(LINKS(A1))
I1=CODE(TEIL(A1;2;1))

Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: zweiter Versuch
29.10.2013 23:05:34
Christian
Hallo Erich,
ja, es ist sicher etwas verwirrend, wenn der Fragesteller und Antworter Namensvettern sind...
Ich bin der antwortende Christian:
schau dir doch mal deine Formel noch mal genauer an - so wie ich das sehe, funtioniert die nicht wie erwartet...
Userbild
Gruß
Christian

AW: zweiter Versuch
30.10.2013 01:13:19
Erich
Hi Christian, (klar, welcher gemeint ist, nicht der fragende Chris)
bei Erich-v2 bin ich von den Werten in der Beispielmappe ausgegangen - und dafür klappt die Formel wohl.
Die beiden ersten Zeichen werden nicht beachtet, danach bis zum ersten Leerzeichen (32 oder 160).
Deine Formel Christian-v2 ist natürlich toleranter, verträgt alle möglichen anderen Konstellationen,
GLÄTTEN leistet da gute Dienste. Christian-v2 ist deshalb auch meiner Meinung nach vorzuziehen. :-)
Bleibt im Hintergrund der (fromme) Wunsch, immer klare Aufgabenstellungen zu bekommen...
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: zweiter Versuch
30.10.2013 09:38:52
Christian
Hallo Christian (Helfer) und Hallo Erich,
erstmal vielen Dank für Eure Mühe.
Es tut mir leid, wenn ihr keine klaren Aufgabenstellungen bekommen habt. Klar, zählen hätte ich selbst können sollen, das muss ich mir ankreiden.
Aber für weitere Unklarheiten ich war einfach der Meinung, dass die Info das vor dem Wort 1 (ok, in Wirklichkeit 2) Zeichen oder keins stehen können und nach dem Wort 1 Zeichen, und das alle Zeichen entweder 32 oder 160 sein können ausreichen, die bekannte Formel =LINKS(A1;SUCHEN(" ";A1)-1) zu verändern.
Gruß
Christian

AW: Erstes Wort eines Textes ausgeben
29.10.2013 19:16:13
Christian
Hallo Chris,
bei mir war noch ein Fehler drin, wie Erich richtig bemerkt hat. Das letzte Leerzeichen wird nicht abgeschnitten.
Auch wenn die Formel von Erich gut 50% kürzer ist, würde ich trotzdem mit GLÄTTEN arbeiten, da so beliebig viele Leerzeichen oder Zeichen(160) am Anfang abgeschnitten werden.
Variante mit LINKS statt TEIL:
=LINKS(GLÄTTEN(WECHSELN(A1;ZEICHEN(160);" "));FINDEN(" ";GLÄTTEN(WECHSELN(A1;ZEICHEN(160);" ")))-1)
Gruß
Christian
Anzeige

351 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige