Hilfe bei Excel Tabelle?
Ich habe in Excel eine Spalte in der in jeder Zelle 1-5 Wörter stehen. In der Spalte daneben möchte ich immer die ersten beiden Wörter haben, wenn nur ein Wort in der Zelle ist, nur das erste, aber in jeden anderen Fall die beiden ersten Worte. Daneben in der Spalte brauche ich nochmal das gleiche, nur mit den ersten drei Wörtern.
Wär super wenn jemand helfen kann
1 Antwort
Nicht ganz einfach. Einerseits bietet Excel neuerdings die ziemlich bequeme Funktion =TEXTVOR(A1; " "; 2) an, die in diesem Beispiel den gesamten Text bis zum zweiten Leerzeichen anzeigt, aber die Funktion hat ein Problem, wenn es weniger als zwei Leerzeichen gibt.
Ich hab jetzt den ziemlich manuellen Weg genommen, und teile den Text bei jedem Leerzeichen, so dass eine Matrix entsteht, danach sammle ich die ersten x Elemente der Matrix ein (falls es weniger als 2 bzw. 3 Elemente gibt, werden alle Elemente der Matrix verwendet) und verkette die dann am Ende wieder mit einem Leerzeichen.
Kurz gesagt, hier ist die Formel für zwei Wörter:
=LET(
words; TEXTTEILEN(A1;" ");
firstTwo; INDEX(words; 1; SEQUENZ(MIN(2; SPALTEN(words))));
TEXTVERKETTEN(" "; WAHR; firstTwo)
)
und die fast gleiche Formel für drei Wörter:
=LET(
words; TEXTTEILEN(A1;" ");
firstThree; INDEX(words; 1; SEQUENZ(MIN(3; SPALTEN(words))));
TEXTVERKETTEN(" "; WAHR; firstThree)
)
Ich habs mal auf mehrere Zeilen aufgeteilt, damit man die Formel besser verstehen kann. Als Ergebnis wird trotzdem nur eine Zeile gefüllt.
Statt A1 muss natürlich die erste Zelle rein, wo deine Wörter drinstehen. Statt MIN(2 bzw. MIN(3 kannst du die Anzahl der Wörter angeben, die rauskommen sollen.