Microsoft Excel

Das Portal zum Thema Excel-Formeln

Gruppe: Textfunktionen

Beitrag: das längste Wort in einem Satz bestimmen

Aufgabe
Das längste Wort eines Satzes in einer Zelle (Zeichenzahl und Wort) soll bestimmt werden.

Der Satz steht in A1:
Das schönste am veganen Essen ist die Frikadelle danach.

Die Zeichenzahl in A2: 10

Das Wort in A3: Frikadelle

Lösung
in A2:
{=MAX(FINDEN("#";WECHSELN(A1&WIEDERHOLEN(" ";99);" ";"#";ZEILE(1:99)))-FINDEN("#";WECHSELN(" "&A1&WIEDERHOLEN(" ";99);" ";"#";ZEILE(1:99))))}

in A3:
{=TEIL(A1;MIN(WENN(ISTFEHLER(FINDEN(" ";TEIL(A1;ZEILE(1:999);A2);1)); ZEILE(1:999)));A2)}

Nur das Wort (ohne vorher die Länge zu bestimmen - A2 also aufgelöst):
{=TEIL(A1;MIN(WENN(ISTFEHLER(FINDEN(" ";TEIL(A1;ZEILE(1:999); MAX(FINDEN("#";WECHSELN(A1&WIEDERHOLEN(" ";99);" ";"#";ZEILE(1:99)))-FINDEN("#";WECHSELN(" "&A1&WIEDERHOLEN(" ";99);" ";"#";ZEILE(1:99)))));1));ZEILE(1:999))); MAX(FINDEN("#";WECHSELN(A1&WIEDERHOLEN(" ";99);" ";"#";ZEILE(1:99)))-FINDEN("#";WECHSELN(" "&A1&WIEDERHOLEN(" ";99);" ";"#";ZEILE(1:99)))))}

Alternativlösung mit Namen:
Name: x
Mit Bezug auf: =AUSWERTEN("{"&""""&WECHSELN($A$1;" ";""""&"."&"""")&""""&"}")

Das längste vorkommende Wort ist dann
{=MAX(LÄNGE(x))}
Zeichen lang und lautet:
{=INDEX(x;VERGLEICH(MAX(LÄNGE(x));LÄNGE(x);))}
(Frikadelle)

Erläuterung
Kommen mehrere gleich lange Wörter vor, wird das erste ausgegeben.

Bei der solo-Formel (ohne Namen) gibt es in alten Excel-Versionen (vor 2007) die Fehlermeldung "zu viele Verschachtelungsebenen".