Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1652to1656
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

TEXT-Funktion - Funktionsweise des Backslashes

TEXT-Funktion - Funktionsweise des Backslashes
04.11.2018 15:19:25
Rene
Hallo,
einige kurze Verständnisfragen zur Excel-Text-Funktion:
- Mein Verständnis war, dass die Funktion der "…" (Anführungszeichen) bei benutzerdefinierten Formaten, der '\' (Backslash) innerhalb der Textfunktion als eine Art Escapecharakter übernimmt.
- Während ich in ersterem Fall bspw. ein Format wie folgt definieren kann (englische Dezimal- und Tausendertrennzeichen): #,##0.0 "Euro", müsste ich im Falle einer Textfunktion wie folgt definieren: TEXT(B2,"#,##0.0 \E\u\r\o")
- Warum funktioniert aber bspw: TEXT(B2,"#,##0.0 \Euro"), aber dagegen TEXT(B2,"#,##0.0 \Euronen") nicht (#Value!-Fehler)?
- Genauso unverständlich für mich, warum z.B. TEXT(B2,"#,##0 \St. pl.") funktioniert, aber TEXT(B2,"#,##0.0 \Stellpl.") nicht (#Value!-Fehler).
- Aus den beiden letzten Beispielen vermuten ich einmal, dass er Escapecahrakter nur eine bestimmte Anzahl von Zeichen aufnehmen kann? Ich konnte dadurch aber durch Googlen nichts wirklich finden. Vielleicht kann mir jemand auf die Sprünge helfen.
Ich habe dann einmal versucht alternativ die VBA-Formatierungsfunktion zu nutzen, definiert als UDF wie folgt:
Public Function FMT$(ByVal Value, ByVal strFormat)
FMT = VBA.Format$(Value, strFormat)
End Function

Das hat das Thema allerdings nur noch undurchsichtiger gemacht:
Während wie oben dargestellt TEXT(B2,"#,##0.0 \Stellpl.") einen #Value!-Fehler gibt, funktioniert FMT(B2,"#,##0.0 \Stellpl.") korrekt.
Aus FMT(B2,"#,##0 \Stellplätze") wird dagegen nur "Stellplätz", was für mich keinen Sinn ergibt; es sei denn die VBA-Formatfunktion kann nach dem Escapecharakter mehr Charaktere aufnehmen als die TEXT-Funktion.
Als Fix könnte ich zudem z.B. FMT(B2,"#,##0 \Stellplätz\e") definieren. Im Falle der TEXT-Funktion müsste ich die Escapecharaktere dagegen mindestens wie folgt setzen: TEXT(B2,"#,##0.0 \St\ellplätz\e"); dagegen funktionier z.B. aber TEXT(B2,"#,##0.0 \Ste\llplätz\e") nicht; was ich widerum nicht nachvollziehen kann.
Ich hoffe es ist einigermaßen klar, worauf ich hinauswill.
Danke

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: TEXT-Funktion - Funktionsweise des Backslashes
04.11.2018 15:40:42
Daniel
Hi
in der Text oder Format-Funktion gibt es sogenannte "Funktionzeichen", dh Zeichen, die nicht nur einfache Zeichen sind sondern eine Funktion symbolisieren.
so steht z.B. das "h" dafür, an diese Stelle den Stundenwert des Zellwertes anzuzeigen.
möchtest du aber, dass so ein Zeichen als normales Zeichen angezeigt wird, dann musst du entweder den Text in Anführungszeichen setzen oder vor das Zeichen den Backslash setzen.
Wobei die Anführungszeichen auf alle Zeichen wirken, die innerhalb der Anführungszeichen stehen und der Backslash nur auf das direkt folgende Zeichen.
das "e" ist ein Funktionszeichen, es steht für Exponent und zeigt an das die Zahl als Gleitkommazahl mit Mantisse und Exponent angezeigt werden soll
TEXT(B2,"#,##0.0 \Ste\llplätz\e") funktioniert nicht, weil vor dem ersten "e" kein Backslash steht, sondern danach, dh der Backlsash wirkt auf das "l" und nicht auf das "e"
du kannst die Anführungszeichen auch innerhalb der Text-Funktion verwenden.
allerdings musst du beachten, dass Anführugnszeichen, die innerhalb von Anführungszeichen stehen, immer dopptelt angegegeben werden müssen, um als solche erkannt zu werden (an der Dopplung erkennt Excel, ob die Anführungszeichen in der Formel einen Text begrenzen (einfach) oder Teil des Textes sind (Doppelt)
wenn du dich also nicht mit dem Backlslash und den dir noch unbekannten Funktionszeichen rumärgern willst, nimmst du bei lägeren Texten besser die Anführungszeichen (ich hab die gedoppeltne mal fett gemacht):
TEXT(B2,"#,##0.0 ""Stellplätze""")
Gruß Daniel
Anzeige
AW: TEXT-Funktion - Funktionsweise des Backslashes
04.11.2018 16:03:55
Rene
Supererklärung, macht sofort einiges klarer.
Auch das mit dem Doppelanführungszeichen war mir so noch gar nicht bekannt.
Dank und Gruß

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige