Tag Archives: Code

Suche Disneyprinzen, dessen Gesang Kleintiere inspiriert meine Wohnung zu putzen.

Daten sollen verknüpft werden; Daten sollen getrennt werden:

In mehreren Zellen befinden sich durch einen Zeilenumbruch getrennte Daten. Sie sollen in eigene Spalten geschrieben werden. Man kann den Zeichenumbruch (ZEICHEN(10)) durch ein anderes Zeichen ersetzen, das dann im Assistenten Daten / Text in Spalten verwendet wird.

Oder – die Teilnehmerin, die mir diese Frage stellte, kannte die Antwort – man kann die Tastenkombination [Strg] + [J] nicht nur im Suchen-Dialog, sondern auch in diesem Assistenten verwenden.

Angezeigt wird (auch hier) ein blinkender Punkt. Er repräsentiert das Zeichen für den Zeilenumbruch. So kann man auch die Daten trennen:

Diese Lösung hat allerdings einen klitzekleinen Haken, den ich morgen verraten werde.

Alkoholtest gemacht – vertrage alle gängigen Sorten.

Es fing ganz harmlos an. Excelschulung. Genauer: vor der Excelschulung. Eine Teilnehmerin rief mich zu sich. Sie hat eine Liste, bei der Daten mit einer anderen Liste verknüpft werden sollen. Nichts leichter als !?!

Die „Anbauländer“ (Spalte H) sollte mit einer anderen Liste verknüpft werden. Ein genauer Blick auf die Daten lieferte folgendes Ergebnis: In Spalte H stand nicht nur ein Land, sondern manchmal eines, manchmal mehrere. Untereinander …

Mein erster Gedanke war: man kann den Zeilenumbruch durch ein anderes Zeichen ersetzen und dann damit trennen. Dass der Zeichenumbruch in Excel der Zahl 10 entspricht, weiß man, oder kann man leicht ermitteln mit:

=CODE(TEIL(H2;LÄNGE(„Deutschland“)+1;1))

Also wird gewechselt:

Anschließend markiert, kopiert und mit Daten / Text in Spalten getrennt. Voilà.

Die Teilnehmerin hatte eine bessere Idee. Ich verrate diesen Vorschlag morgen.

Ist nicht Bier kaltstellen auch irgendwie kochen?

Word hat mehr Zeichen als Excel: geschützte Leerzeichen, bedingte Trennzeichen, geschützte Trennzeichen, … Kopiert man Texte mit solchen Zeichen nach Excel ist das Erstaunen oft groß: Zeichen, die in der Zelle angezeigt werden, jedoch nicht in der Eingabezeile.

Die Funktion CODE hilft den (ASCII-)Code zu ermitteln:

Mit diesem Wissen kann man mit der Funktion WECHSELN die alten Zeichen (hier: 173) durch „“ oder durch ein anderes Zeichen ersetzen:

Oder ich markiere es, indem ich mit [F2] in die Zelle wechsle, dort mit der Pfeiltaste nach rechts wandere und mit [Umschalt] + [Pfeil] markiere. Das kann ich kopieren [Strg] + [C])

und in den Ersetzen-Dialog einfügen. Und so alle Trennzeichen auf dem Blatt löschen.

Männer kennen nur zwei Empfindungen: hungrig und geil. Wenn du also einen Mann ohne Erektion siehst, dann mach ihm was zu Essen.

Irritierend, verwirrend und nicht konsequent!

In Excelschulungen erzähle ich immer, wenn ich den Assistenten „Daten / Text in Spalten“ vorstelle, dass es in Excel keine Tabulatoren gibt – man kann die Grundeinstellung (die beim Import von Textdateien verwendet wird) ruhig stehenlassen:

Ich werde eines Besseren belehrt: Wenn Sie ein Worddokument oder einen Mailtext aus Outlook nach Excel kopieren, werden die Tabstopps durch Spalten getrennt:

Ein Worddokument mit Tabulatoren
… in Excel

Wenn Sie dagegen Texte IN Zellen kopieren (das heißt: die Zelle mit [F2] editieren) und dann den kopierten Text einfügen, stehen Tabstopps in Zellen. Merkwürdigerweise sieht man sie nicht, wenn der Cursor AUF der Zelle steht – lediglich IN der Zelle werden sie angezeigt:

Der Assistent „Daten / Text in Spalten“ interpretiert die Tabstopps als Leerzeichen!?!

Daten / Text in Spalten mit Tabstopps
Daten / Text in Spalten mit Leerzeichen

Die Funktion CODE liefert den Wert 32 – den gleichen wie Leerzeichen!?!

Wenn man in den Ersetzen-Dialog einen Tabstopp hineinkopiert und durch ein Leerzeichen ersetzen lässt, funktioniert dies hervorragend.

Fazit: Finger weg von Tabstopps in Exceltabellen! Excel behandelt diese Zeichen nicht konsequent als eigene Zeichen – eine Unterscheidung durch Leerzeichen ist nicht an allen Stellen durchgeführt. Und wenn ein Anwender Texte in die Zellen eingefügt hat – dann bleibt nur noch der Ersetzen-Assistent oder die WECHSELN-Funktion.

Ich hatte schon so lange keinen Sex – ich weiß gar nciht mehr wie das geht. – Ist wie Fahrradfahren. – Brauch ich nen Helm?

Danke an die Einladung zum Excelstammtisch in Hessen. Auch in Frankfurt – wie bei uns in München – eine geballte Ladung an Wissen, Freude über Excel, Staunen und Spaß.
Klasse war es.
Danke auch an Andreas Thehos, der sich mit dem gleichen Problem rumgeschlagen hat wie ich gestern. Nur: die Aufgabenstellung war eine andere.
Gegeben sei eine Namensliste. Sie ist Basis für eine Pivottabelle. Es erstaunt, dass ein Name zwei Mal auftaucht. Und nein: es sind keine Leerzeichen hinter dem Namen.

Die Ursache: auch hier hat sich ein geschütztes Leerzeichen (ein non-breaking space) mit dem CODE 160 zwischen den Vornamen und Nachnamen geschummelt.
Wie passiert so etwas? Entweder wurden die Daten aus einer Internetseite entnommen – oder von einem Word-Dokument. DORT kann man mit der Tastenkombination [Umschalt] + [Strg] + [Leertaste].

Nur noch vier Mal ausschlafen bis zu „wir schenken uns nichts in diesem Jahr“

Die Aufgabe ist einfach. Zu einem Text (einem Buchstaben) sollen Kreissymbole dargestellt werden. Das kann man prima mit der Bedingten Formatierung erledigen. Allerdings: sie akzeptiert keine Texte. Also muss man den Text in eine Zahl umwandeln – beispielsweise mit der Funktion CODE (oder UNICODE). Darauf kann man eine Bedingte Formatierung aufsetzen.

Wenn du nicht weißt, wie du dein Kind erziehen sollst, frag Leute, die keine haben. Die wissen das.

Amüsant: Ich sehe einen Bindestrich, der aber eigentlich gar nicht drin ist:

Man kann ihn analysieren:

=CODE(TEIL(B32;8;1))

liefert die Zahl 173. Mit ZEICHEN(173) kann man ihn nachbauen.

Und wo kommt der her? Der Text wurde von einer Internetseite kopiert – irgendein Trennstrich, der in Excel nichts verloren hat. Übrigens: SÄUBERN putzt ihn nicht raus!

Ich kenne Zebras, die freiwillig hinter Gittern sitzen, um wie weiße Pferde auszusehen.

Verblüfft war ich schon. Ein Teilnehmer der letzten Excel-Schulung zeigte mit eine Datei, die er aus dem USA erhalten hat. Darin befanden sich mehrere Zellen mit bedingten Formatierungen:

20161120bedingteformatierung01

Ein Klick auf die „rote“ Bedingung (Zellwert<=0,81) zeigte allerdings die „grüne“ Bedingung (Zellwert = 1) an. Ich war verblüfft!

20161120bedingteformatierung02

Die Lösung fand ich als ich das Dokument entzippte und mit die Datei sheet1.xml im Ordner xl\worksheets anschaute. Dort war bei mehreren Bedingungen (nicht bei allen!) das Attribut priority auf den gleichen Wert gesetzt: mehrmals auf 4, auf 5, auf 6, … Natürlich müssen dort unterschiedliche Werte stehen. Per Hand geändert, die Dateien gezippt – und schon lief die bedingte Formatierung wieder.

Die XML-Datei

Die XML-Datei

Ich weiß zwar nicht, wann das Problem entstanden ist (USA – Deutschland) oder Excel 2007 – 2010, … aber immerhin – Problemursache gefunden und Problem gelöst.

Komische Zeichen

Ich erhalte von einem Datenbanksystem manchmal Excellisten, in denen seltsame Zeichen drin sind. Frage: Was haben die in meinen Listen zu suchen und wie bekomme ich die da wieder raus?

Komische Zeichen

Komische Zeichen

Die Antwort: Manche System verwenden intern nichtdruckbare Zeichen, also Zeichen, die einen ASCII-Code haben, der kleiner als 32 ist. Sie werden in Excel als Kästchen dargestellt.

Die Funktion SÄUBERN (eng.: CLEAN) putzt diese Zeichen raus. Da sie aber oft als Trennzeichen verwendet werden, würde ich zuerst herausfinden, welchen ASCII-Code sie haben. Dies kann man mit der Funktion CODE herausfinden. Wenn Sie die Nummer wissen, können Sie mit

=WECHSELN(J2;ZEICHEN(8);“*“)

das fehlerhafte Zeichen durch ein anderes ersetzen lassen. Dabei steht 8 für die Nummer, die Sie gefunden haben: ZEICHEN(8) erzeugt dieses nichtdruckbare Zeichen und „*“ ist ein beliebiges Zeichen, das Sie verwenden können – natürlich können Sie auch ein „;“ oder ein „/“ benutzen.

Die Zeichen können rausgeputzt oder ersetzt werden.

Die Zeichen können rausgeputzt oder ersetzt werden.