Daten transponieren (Formel ZEILENUMBRUCH)

Angenommen Du erhältst Daten in einer ungünstigen Struktur. Womöglich kennst Du die Funktion "Transponieren", indem Du die Daten markierst, kopierst und mittels "transponieren" einfügst. Dies "dreht" Deinen Bericht von einer Zeilen- zu einer Spaltenansicht (oder vice versa). Siehe hierzu auch diesen Beitrag: Einen Bericht drehen (Spalten zu Zeilen - Transponieren).

Für diesen Beitrag haben wir das untenstehende Datenset, mit zufälligen Adressdaten erhalten:

Daten transponieren - Beispieldaten

Wir können die Daten nicht weiterverwenden und müssen sie zuerst in dedizierte Spalten "Name", "Adresse" und "Telefon" bringen. Welche Lösungsansätze bieten sich uns? Mittels eingangs erwähntem "Transponieren" kommen wir nicht weiter; respektive nur ansatzweise (Eintrag für Eintrag). Ein manueller Übertrag kommt für uns natürlich nicht in Frage. Ein Makro mit einer For Each-Schleife würde funktionieren, es bietet sich jedoch mit einer einzigen Excel-Formel eine Lösung an: Die Formel "=ZEILENUMBRUCH" kann die Daten direkt für uns aufbereiten. Dies ist die Formel-Syntax:

Formel Zeilenumbruch-Syntax

Konkret können wir unsere Daten (die übrigens in den Zellen A1:A45 sind), mit folgender Formel aufbereiten lassen:

=ZEILENUMBRUCH(A1:A45;3)

Der "Vektor" beinhaltet der Bereich, wo unsere Daten aufgeführt sind. Die zweite Angabe, der "wrap_count" definiert, nach wie vielen Einträgen Excel jeweils einen "Zeilenumbruch" einfügen soll, um auf der nächsten Zeile fortzufahren.

Daten transponieren - Result

Die Formel hat eine optionale Angabe "pad_with". Falls Du im Allgemeinen eine grosse Datenmenge zusammenführen möchtest und in der letzten Zeile nicht alle Einträge gefüllt werden, erhältst Du einen "#N/V"-Fehler. Mit der "pad_with"-Angabe kannst Du einen Wert dafür definieren (z.B. "NULL", "LEER", etc.).

Anstelle von "ZEILENUMBRUCH" könntest Du je nach Anwendungsfall auch "SPALTENUMBRUCH" verwenden; das Konzept ist ähnlich wie beim "SVERWEIS" und dem "WVERWEIS". Falls Du Excel auf Englisch benutzt, wären dies die Formeln "WRAPROWS" (ZEILENUMBRUCH) oder "WRAPCOLS" (SPALTENUMBRUCH), Rows für Zeilen, Cols für Spalten (Columns).

Die zufällig generierten "Testdaten" habe ich im Übrigen mit UiPath und dem "Testing" Aktivitäten-Package aufbereitet (UiPath.Testing.Activites). Es sind dies die Aktivitäten GivenName, LastNameAddress und RandomNumber.

Zeilenumbruch innerhalb einer Formel (Formel-Text-Kombination)

Auf Excelblog.ch wurde die Möglichkeit bereits aufgezeigt, wie Du Formeln und Text miteinander verknüpfen kannst. Beispielsweise mit der Eingabe von ="Heute ist der "&HEUTE() wirst Du den eingegebenen Text und immer das aktuelle Datum angezeigt bekommen (zwar noch als Zahl; das Datum müsste noch mit der Formel "TEXT" umformatiert werden - mehr dazu findest Du im Beitrag "Dynamische Titel (Formel "TEXT")"). Wenn diese Texte und Kombinationen jedoch länger werden, kann es durchaus sein, dass man das Gebilde an einer bestimmten Stelle auf eine neue Zeile umbrechen möchte. Die normale Zeilenumbruch-Funktion ist da ziemlich unflexibel und bringt nicht immer das gewünschte Resultat - besonders, wenn Du die Spaltenbreite aufgrund anderer Inhalte Deiner Excel-Tabelle nicht beliebig anpassen kannst. Fügst Du jedoch die Formel ZEICHEN(10) mit ein, wirst Du Deine Kombination genau an dieser Stelle auf die neue Zeile brechen. ZEICHEN(10) stellt also einen Zeilenumbruch dar. Um an das Datumsbeispiel zu Beginn dieses Beitrags anzuknüpfen, würde die Formel mit einem Zeilenumbruch demnach lauten:

="Heute ist der "&ZEICHEN(10)&HEUTE()

respektive "perfekt" dargestellt mit der TEXT-Formel, verlinkt weiter oben:

="Heute ist der "&ZEICHEN(10)&TEXT(HEUTE();"TT.MM.JJJJ")

Zeilenumbrüche aus Zellen entfernen

Zeilenumbrüche können das Weiterverarbeiten von Daten erschweren. Beispielsweise hindern sie einen an der Anwendung der Funktion "Text in Spalte", welche hier (Textfragmente aus einer Zelle ziehen) detailliert behandelt wurde. Um diese Zeilenumbrüche aus beliebig vielen Zellen zu entfernen, gibt es einen Trick, sodass man nicht jede Zelle einzeln bearbeiten muss:

Mittels "Suchen & Ersetzen" (Tastenkombination CTRL + H oder via Start → Suchen & Auswählen → Ersetzen) können wir nach Zeilenumbrüchen suchen und diese durch nichts ersetzen - im Fenster "Suchen & Ersetzen" geben wir demnach bei "Ersetzen durch" nichts ein (wir lassen das Feld einfach leer). Bei "Suche nach" gibst Du einen sogenannten ASCII-Code ein: Halte Alt gedrückt und gebe auf dem Zifferblock "010" ein. Lasse dann die Taste Alt los. Du siehst zwar kein Zeichen im Feld "Suche nach", eine minime Änderung beim blinkenden Cursor kann jedoch bei genauem Hinsehen erkannt werden. Wenn Du nun auf "Alle ersetzen" gehst, werden sämtliche Zeilenumbrüche im von Dir zuvor markierten Bereich (oder ansonsten im gesamten Arbeitsblatt) entfernt.

Die Selektion der zu bearbeitenden Zellen vor dem Benutzen von "Suchen & Ersetzen" ist wichtig, sodass nicht unabsichtlich andere Felder ebenso bearbeitet werden. Man sollte sich vor dem Verwenden dieser Funktion im Klaren sein, was man genau ersetzen möchte und ob man dadurch nicht andere Formeln, Bezüge oder Werte mit verändert und allenfalls die Tabelle beschädigt.