Excel ändert Dezimaltrennzeichen je nach Regionseinstellung von allein, sei es im Zellformat oder auch in der Funktion TEXT. Wie aber nehme ich genau auf das Dezimaltrennzeichen Bezug, um es bspw. zu WECHSELN()?
Man benenne eine Zelle mit der nachfolgenden Formel (oder diese Formel direkt mit Namen Einfügen Definieren) als K:
K: =TEIL(0,1;2;1) ergibt für die deutsche Einstellung ",", in einer amerikanischen Umgebung wird es selbständig zum ".".
(Pocket Excel erfordert die Benennung in einer Zelle, da es keine benannten Formeln kennt).
Nun kommt die Anwendung dieses Bestandteils:
Gegeben sei das Erfordernis, eine Zahl viertelgenau zu runden mit der anschließenden Besonderheit, dass auf ,25 gerundete Werte ,5 sein sollen (,5 und ,75 und ,0 sollen dagegen unverändert bleiben).
Die Formel lautet
=--WECHSELN(RUNDEN(A1*4;)/4;K&2;K) oder
=--WECHSELN(DM(A1*4;)/4;K&2;K) - nicht für Pocket Excel!
Erklärung: Die Schreibweise
=--WECHSELN(RUNDEN(A1*4;)/4;",2";",")
funktioniert nur in Ländern mit dem Komma als Dezimaltrennzeichen.
Professioneller:
Generell kann man regionsbezogene Angaben mit der Excel4-Makrofunktion
=ARBEITSBEREICH.ZUORDNEN(37);Zahl), wobei Zahl 1 bis 45 sein kann, siehe http://xxcl.de/linksde.htm (Makrofunktionen)
auswerten. Vorteil: Das geht dann international durch Auslesen von Systeminformationen, nicht nur mit manuell berücksichtigten Ländern. Beispiel:
(benannte Formel) _Weekday: =WIEDERHOLEN(INDEX(ARBEITSBEREICH.ZUORDNEN(37);21);3)
gibt in deutscher Umgebung "TTT" und im englischen Raum "DDD" zurück. Das ist sinnvoll als sich anpassende Formatierungsangabe etwa in der Funktion =TEXT(A1;"TTT"), die man dann allgemeingültig =TEXT(A1;_Weekday) nennt.
=TEIL(0,1;2;1) wird dann entsprechend zu =INDEX(ARBEITSBEREICH.ZUORDNEN(37);3).
Hinweis: Makrofunktionen können nur über Einfügen Namen Definieren (benannte Formeln) ausgewertet werden.