Aktuelle Excel-Versionen bieten einen Katalog von mehr als 450 Tabellenfunktionen. Viele davon sind so speziell, dass man oft keine Ahnung hat, wofür man sie brauchen kann. In diese Kategorie dürfte auch die Funktion UNIZEICHEN fallen. Oder hast du je von ihr gehört oder kannst gar sagen, wozu sie gut ist?
Nun, ich hätte da ein paar interessante Ideen. Vielleicht hast du ja gerade auf so etwas gewartet, und weißt es nur noch nicht!
Und so geht’s:
UNIZEICHEN – ein unbekannter Geselle
Die Funktion wurde mit Excel 2013 eingeführt. Falls du also noch mit Excel 2010 oder 2007 arbeitest, kannst du hier eigentlich schon mit dem Lesen aufhören. Oder du liest weiter und nimmst das zum Anlass, deine IT-Abteilung endlich zu einem Upgrade auf eine aktuelle Version zu bewegen 🙂
Was macht nun diese Funktion? Die Excel-Hilfe ist hier sehr sparsam:
„UNIZEICHEN gibt das Unicode-Zeichen zurück, das durch den angegebenen Zahlenwert bezeichnet wird“
Klingt erstmal nicht sonderlich spannend. Du kennst vielleicht die ähnliche Funktion ZEICHEN(), mit der man durch viele Sonderzeichen, wie beispielsweise das Copyright-Zeichen © darstellen kann. Das geht mit =ZEICHEN(169)
Der zulässige Wertebereich liegt bei der ZEICHEN-Funktion zwischen 1 und 255, wobei es sich bei den ersten 32 Werten um nicht druckbare Steuerzeichen handelt. Erst ab 33 kommen vernünftige Ergebnisse heraus.
UNIZEICHEN macht etwas ähnliches, hat aber einen unfassbar größeren zulässigen Wertebereich. Damit lassen sich außergewöhnliche Sonderzeichen einfügen, die in den normalen Zeichensätzen nicht angeboten werden. Wenn ich sage unfassbar größer: Es gibt mehr als 136.000 Unicode-Zeichen!
Ein paar Beispiele gefällig?
Vielleicht bringt man damit ja ein paar Jugendliche dazu, anstelle von WhatsApp vielleicht Excel zu benutzen 😉
(Die Beispieldatei kannst du dir hier herunterladen)
Aber es geht natürlich auch sinnvoller. Zum Beispiel lassen sich damit auch die Braille-Zeichen darstellen:
Noch ein wenig Hintergrundinformation
Wie du gesehen hast, ist die Anwendung denkbar einfach. Man übergibt der Funktion nur einen numerischen Wert und das war’s. Einen #WERT!-Fehler gibt es dann, wenn der angegebene Wert Null ist oder außerhalb des gültigen Bereichs liegt. Das ist zum Beispiel auch bei Dezimalzahlen oder negativen Werten der Fall.
Wie eingangs erwähnt, gibt es mehr als 136.000 Unicode-Zeichen. Diese sind in sogenannten Unicodeblöcken zusammengefasst. Nachfolgend ein paar Weblinks, wo du die Blöcke einfach mal durchstöbern kannst.
Auf diesen Seiten findest du häufig nicht den Dezimalwert, sondern einen Hexadezimalwert, mit dem die UNIZEICHEN-Funktion jedoch nichts anfangen kann. Diesen kannst du jedoch einfach mit der HEXINDEZ-Funktion in einen Dezimalwert umwandeln:
=HEXINDEZ(Hexadezimalzahl)
Genauso geht es mit der Funktion DEZINHEX in die andere Richtung, also von einer Dezimalzahl zu einer Hexadezimalzahl:
=DEZINHEX(Dezimalzahl)
Und wenn wir schon beim Umwandeln sind: Die Funktion UNICODE ist das Gegenstück zu UNIZEICHEN und liefert zu einem gegebenen Unizeichen den dazugehörigen Dezimalwert:
UNIZEICHEN versus Wingdings/Webdings
Nun kannst du natürlich einwerfen, dass zumindest viele der geläufigen Zeichen auch im Wingdings- oder Webdings-Zeichensatz enthalten und über das Menü „Einfügen | Symbol“ viel bequemer erreichbar sind:
Stimmt. Es gibt aber ein paar wesentliche Unterschiede.
Der Wingdings-Smiley wird nur dann als solcher dargestellt, solange niemand die Schriftart in der Zelle ändert. Sobald dies jedoch der Fall ist, wird aus dem Smiley plötzlich der Buchstabe J.
Ein per UNIZEICHEN-Funktion eingefügter Smiley bleibt auch in jeder Schriftart ein Smiley. Das Risiko einer falschen Darstellung ist also deutlich geringer.
Und wenn man die UNIZEICHEN-Formel durch den Wert ersetzt (Kopieren | Einfügen | Nur Werte), dann wird der Smiley auch in der Bearbeitungszeile als solcher dargestellt:
Die Formel bleibt mit dem UNIZEICHEN besser lesbar:
Und wer schon einmal versucht hat, eine Zelle mit Schriftart Wingdings oder Webdings direkt zu bearbeiten, kennt das folgende Bild:
Weitere Anwendungsbeispiele
Die mit Hilfe der UNIZEICHEN-Funktion erzeugten Symbole können auch innerhalb von Dropdown-Listen verwendet werden:
Dies wäre mit Wingdings/Webdings überhaupt nicht möglich.
Ebenso denkbar wäre der Einsatz eines Unizeichens in einem benutzerdefinierten Zahlenformat. Nehmen wir an, du hast eine Pivot-Tabelle erstellt, welche die verkauften Mengen pro Produkt und Verkäufer anzeigt:
Tatsächlich interessiert dich aber nicht die absolute Anzahl, sondern nur, ob das Produkt überhaupt verkauft wurde. Es soll also nur ein Haken gezeigt werden:
Ich habe dafür das Unizeichen mit dem Wert 10004 verwendet:
Dann kopierst du Formel und ersetzt sie durch den Wert. Kopieren | Inhalte einfügen | Werte:
Jetzt kopierst du die das Häkchen mit Strg+C in die Zwischenablage und rufst in irgendeiner Zelle per Rechtsklick das Menü „Zellen formatieren“ auf. Dort markierst du den letzten Eintrag „Benutzerdefiniert“ und fügst dann in der Zeile „Typ“ mit Strg+V das Häkchen ein:
Damit hast du das neue Zahlenformat. Da wir nicht zwischen positiven, negativen oder Nullwerten unterschieden haben, wird dieses Häkchen bei jedem Wert verwendet. Nun klickst du auf ein beliebiges Wertfeld in der Pivot-Tabelle und rufst über einen Rechtsklick die Wertfeldeinstellungen auf. Dort gelangst du dann über die Schaltfläche „Zahlenformat“ zu dem zuvor erstellten benutzerdefinierten Format:
Nachdem du alle Fenster geschlossen hast, werden in der Pivot-Tabelle anstelle der Werte nur noch die Häkchen angezeigt!
Wie wäre es mit einer Partie Schach?
Beim Durchstöbern der verschiedenen Unizeichen bin ich auch auf die Symbole für die Schachfiguren gestoßen.
Was mich dazu veranlasst hat, ein kleines und ganz einfaches Schachspiel unter Anwendung der UNIZEICHEN-Funktion zu erstellen.
Hinweis:
Das Programm kennt natürlich keine Schachregeln, sondern es dient nur zur Veranschaulichung der UNIZEICHEN-Funktion. Und damit man zumindest ein wenig herumspielen kann, habe ich ein etwas VBA eingesetzt. Daher handelt es sich um eine XLSM-Datei, die du dir gerne hier herunterladen kannst.
Welche Anwendungsmöglichkeiten fallen dir für die UNIZEICHEN-Funktion ein? Lass es uns unten in den Kommentaren wissen.
P.S. Die Lösung ist immer einfach. Man muss sie nur finden.
(Alexander Solschenizyn)
P.P.S. Das Problem sitzt meistens vor dem Computer.
Diese Unicode-Info finde ich spitze: besonders den Okay-Haken kann ich sehr gut brauche!
Freut mich, wenn der Artikel nützlich ist!
Schöne Grüße,
Martin
Hallo Martin,
wäre ein weitere Anwendungsmöglichkeit im Rahmen der bedingten Formatierung?
Hallo Thomas,
absolut. Zum Beispiel könnte ich mir gut vorstellen, die bedingte Formatierung mit einem benutzerdefinierten Zahlenformat zu kombinieren. Oder eben ein Unizeichen direkt in einer bedingten Formatierung einzusetzen. Da gibt es bestimmt einige interessante Anwendungsfälle.
Schöne Grüße,
Martin
Hallo Martin,
vielen Dank für diese inspirierende Idee!
Man kann sich in der großen Anzahl von Symbolen fast verlieren. Ich muss mich beim Stöbern bremsen, um wieder zurück „ans Tageswerk zu gehen“.
Welche Unizeichen verwendest du für „Daumen hoch“ u „Daumen nach unten“?
Vielen Dank!
Viele Grüße,
Sandra
Hallo Sandra,
ja, das ist leider die Gefahr an der Sache, es gibt einfach zu viele interessante Symbole…
Für „Daumen hoch/runter“ gibt es die Codes 128077 bzw. 128078
Schöne Grüße,
Martin
Prima, danke Martin!
Eine der (wenn nicht sogar die) beste/n Excel-Lexikothek(en) im World-Weiß-Web 😉
Kurze und auf den Punkt gebrachte Erklärungen mit den dazu passenden Screenshots und modern designter Webseite.
Der Newsletter „Bedingte Formatierung aufgebohrt“ machte mich besonders neugierig.
Als ich im Artikel einen Verweis auf die Unizeichen-Funktion entdeckte, dachte ich mir:
Dem Martin schreib ich (als „bedingter Kommentarschreiber“) jetzt ein paar Gedanken und lasse ein großes Dankeschön hier – für viele „Richtig gut werden mit Excel“ – Newsletter und wertvollen Blogbeiträgen, die mir in einigen Jahren „Kopf zerbrechen mit Excel“ neue Ideen und Lösungen bei der VBA-Programmierung gebracht haben.
Also, lieber Martin – auf noch viele weitere „Excel-Weiß-heiten“ auf Deiner Seite.
Für Dich und Deine Familie:
Alles Gute!
Hallo Christian,
wenn ich jetzt auf Anhieb den errötenden Smiley finden würde, dann käme er gleich zum Einsatz! Vielen Dank für dieses tolle Feedback (und die schönen Wortspiele 🙂 ), da macht das Artikelschreiben gleich nochmal so viel Spaß.
Auch Dir und Deiner Familie alles Gute und noch viel Freude mit Excel!
Schöne Grüße,
Martin
Tausend Dank für diesen inspirierenden Artikel!
Damit lässt sich der Excel-Ferienkurs für Schüler viel spannender gestalten!
Beste Grüße
Monika
Hallo Monika,
freut mich sehr zu hören, das klingt mal nach einer interessanten Anwendung 🙂
Schöne Grüße,
Martin
Hallo Martin,
die Schüler und Schülerinnen waren tatsächlich sehr begeistert. Wir haben die UNIZEICHEN für ein kleines Memory in Excel genutzt. Da konnte ich Bedingte Formatierung, Datenüberprüfung etc. einbauen und es hat alles wirklich Spaß gemacht.
Beste Grüße
Monika
Hallo Martin, ich war mir sicher, dass es besser geht als mit Sonderzeichen. Danke für die tolle Anleitung!
Nun möchte ich Dein Beispiel der Pivottabelle von Häkchen auf Harvey Balls erweitern.
Denn die bedingte Formatierung in Excel liefert nicht so schöne Grafiken und das Ergebnis lässt sich nicht als Text übernehmen.
Ein eigenes Zellenformat ([>7]●??0;[>=4]◐??0;○??0) macht den vollen und leeren Kreis (25CB und 25CF) kleiner als die dazwischen (ab 25D0). ?
Hast Du da eine Idee?
Jan
Hallo Jan,
leider nein, ich fürchte, da hilft nur, andere Codes auszuprobieren (es gibt ja nicht soviele 😉 )
Schöne Grüße,
Martin
Es wäre auch hilfreich, wenn es beschrieben wäre, wie man den UNICODE von einem Zeichen herausbekommen kann.
Hallo Bekir,
das ist oben im Artikel bei den Hintergrundinformationen beschrieben, dafür gibt es die UNICODE-Funktion.
Schöne Grüße,
Martin
Hallo Martin,
vielen Dank für den tollen Tipp. Habe ihn schon ein paar mal erfolgreich nutzen können.
Leider funktioniert er bei mir nicht immer. Z. B. bekomme ich beim Unicode 119139 (Vierundsechzigstelnote) nur ein leeres Viereck herausgegeben. Gibt es vielleicht eine Möglichkeit auch diese Notenschriftzeichen (119040 bis 119261) auszugeben?
Schöne Grüße
Uwe
Hallo Uwe,
da habe ich leider auch keine Idee, warum manche Codes funktionieren und andere nicht. Ich fürchte, da hilft bloß ausprobieren.
Schöne Grüße,
Martin
Hallo Martin,
trotzdem Danke, dass Du geantwortet hast.
Werde mich also ans Werk machen und ausprobieren. Sollte ich etwas herausfinden, werde ich Dir Bescheid geben.
Schöne Grüße
Uwe
Vielleicht kann die benutzte Schrift die gewünschten Zeichen nicht darstellen. Hast du es schon mal mit einer anderen Schrift versucht?
Hallo Martin,
sehr schön erklärt, danke. Kann es sein, dass die Funktion nur genau einen einzigen Codepoint akzeptiert? Ich habe ein paar abgefahrene „kombinierte Zeichen“ wie z.B. 268 mit 803 oder 269 & 803 – wie kann ich Excel das anzeigen lassen?
Ich habs mir aus einer Webseite in die Zelle kopiert – sieht identisch aus. Habe mit „unicode(A1)“ die Zelle abgefragt – und es kommt nur der erste Teil „268“.
Irgendeine Idee?
Danke,
Hans
Hallo Hans,
pro UNIZEICHEN-Funktion kann immer nur 1 Wert übergeben werden. Aber du kannst ja zwei Funktionen miteinander kombinieren:
=UNIZEICHEN(268)&UNIZEICHEN(803)
oder
=UNIZEICHEN(A1)&UNIZEICHEN(A2)
Ich habe auch schon festgestellt, dass nicht jedes Zeichen dargestellt wird. Das könnte vielleicht auch an der gewählten Schriftart liegen.
Schöne Grüße,
Martin
Moin Martin,
Woah, cool, das funktioniert! Beide Codepoints werden in eine Glyphe reingeschrieben/kombiniert!
Bei der Schriftart war ich optimistisch, weil „die Kopie aus dem Internet“ auch funktionierte.
Herzlichen Dank,
Hans
PS: Sogar eine Dreierkombi wie =UNIZEICHEN(67)&UNIZEICHEN(808)&UNIZEICHEN(774).
Und zusätzlich danke für die sehr schnelle Reaktion auf meine Frage!
Hallo Martin Weiß,
während ich keine Probleme hatte, auch große Zahlen HEXINDEZ und DEZINHEX zu wandeln (für UNIZEICHEN()), gibt es starke Beschränkungen Richtung BINär. D.h., hier ist nur -511 über 0 bis +511 möglich. Und weil es weder dazu noch zu BASIS() bisher einen Blogeintrag gibt, habe ich mich an Unizeichen rangehangen. Denn ich brauchte die UTF-8-Speicherbytes von Unicode-Codepoints.
Mein Erkenntnisgewinn: mit BASIS(Zahl;Basis;Mindeststellen) kann ich die vorgefertigten BININ…() und …INBIN() umgehen und bekomme das auch für Werte größer 511.
Abgesehen davon, dass es krass ist, dass die MS-Hilfe nonchalant sagt, dass der Binärwert von FFFFFFFFFF = 1111111111 = -511 sei. Mathematisch sehr daneben – die Beschränkung liegt im Datentyp und Excel – und der Grund, warum ich zu BASIS() gefunden habe.
Viele Grüße,
Hans
Hallo Hans,
ich muss ganz offen gestehen, die BASIS-Funktion war mir bisher unbekannt. Und dass man damit die Grenzen von DEZINBIN etc. sprengen kann, ist ja wirklich genial.
Vielen Dank für diesen Tipp!
Schöne Grüße,
Martin
Hah, und mit dem Pendant DEZIMAL(Text;Basis) könnte ich theoretisch Dezimal in den Mittelpunkt stellen und hin- und herkonvertieren. Insbesondere aber die Begrenzung auf 2er, 8er, 16er Basis in den vorgefertigten Formeln aufheben.
Also bei HexInBin ist es ein Schritt mehr (über Dez), dafür geht „jede“ Zahl = die Größenbeschränkung durch Excel kommt erst wesentlich später als heute.
Schönen Tag, Hans
Bin auch begeistert von dieser versteckten Funktion!
Kann ich damit auch die Formatierung von gemischten Zahlen-Buchstaben-Kombinationen erreichen?
Bsp: Die Eingabe „AbCdE12345f6g7h“ soll in einer Zelle so dargestellt werden: „AbCdE-12345-f6g7h“ oder auch „AbCdE 12345 f6g7h“. Würde man das über Unizeichen schaffen können? Andere Wege habe ich noch nicht gefunden. Die Option mit Hilfszellen (in denen man die einzelnen Blöcke einträgt) habe ich leider nicht.
Hallo ruby,
leider nein, bei Texten sind die Möglichkeiten in den benutzerdefinierten Zahlenformaten ziemlich eingeschränkt.
Schöne Grüße,
Martin