Währung USD -> EUR darstellen

Darstellung unterschiedlicher Währungsformate

Als ein­fach­es Beispiel sei die Zahl 12345,67 gegeben. Die wird ja auch genau so in ein­er Zelle dargestellt, wenn die Stan­dard-For­matierung beim Zahlen­for­mat ver­wen­det wird. In dem Moment, wo Sie Währung oder Buch­hal­tung als Zahlen­for­mat ver­wen­den, stellt sich die Zahl so dar: 12.345,67 €. Intern ist das nach wie vor (natür­lich) eine ganz nor­male Zahl ohne For­matierung, Sie kön­nen damit nach Belieben rech­nen.

€ zu $ (Euro zu Dollar)

Nun ist es ja denkbar, dass Sie inner­halb ein­er Arbeitsmappe bei­de Währun­gen ver­wen­den müssen. Beispiel­sweise ste­ht in Spalte D der Preis in Euro und in Spalte E der (umgerech­nete) Preis in Dol­lar. Das Ganze sollte dann so ausse­hen:

Berechnete Darstellung im US-Format

Berech­nete Darstel­lung im US-For­mat

Sie erken­nen, dass in H1 der Umrech­nungskurs für 1 Euro ste­ht. Dieser dient als Mul­ti­p­lika­tor für die Spalte E2. Der schein­bar ein­fach­ste Weg wäre, den €-Betrag ein­fach mit dem Umrech­nungs­fak­tor zu mul­ti­plizieren, das Ergeb­nis zu kopieren, als Wert  in E2 wieder einzufü­gen, dann das $-Sym­bol davor zu set­zen und natür­lich den Punkt gegen das Kom­ma zu tauschen. Let­z­tendlich wird das Ganze dann auch noch rechts­bündig for­matiert und es ist gut. Oder doch nicht?

Nun ja, die Optik und das Ergeb­nis stim­men. Zumin­d­est so lange, bis der Kurs in H1 nicht geän­dert wird. Dann geht die gesamte Proze­dur mit der Umrech­nerei wieder von vorne los. Wenn Sie jedoch in E2 diese Formel eingeben:

=WECHSELN(WECHSELN(WECHSELN(TEXT(D2*$H$1;"[$$-409] #.##0,00");".";"_");",";".");"_";",")

dann wird der Dol­lar-Betrag immer automa­tisch angepasst. Außer­dem lässt sich diese Formel auch ganz bequem nach unten kopieren und berech­net für jede Zeile den kor­rek­ten $-Betrag. Eine Ein­schränkung ist aber ‑wie auch im erst­ge­nan­nten Mod­ell- gegeben: Das Ergeb­nis ist Text, und damit kön­nen Sie nicht rech­nen. Aus dem Grunde sollte auch hier der Ergeb­nis­bere­ich der Spalte E rechts­bündig for­matiert wer­den. Es sieht bess­er aus. Und der Zweck ist auch erfüllt.

Zugegeben, die Formel sieht mächtig und nicht wirk­lich über­schaubar aus. Es sind aber nur drei WECHSELN()-Funk­tio­nen, verknüpft mit der Berech­nung des Wech­selkurs­es. Der wirk­lich erk­lärungs­bedürftige Teil ist unseres Eracht­ens nach fol­gen­der:

WECHSELN(TEXT(D2*$H$1;"[$$-409] #.##0,00")

Bedenken Sie, dass in D2 aus der Sicht des Excel-Pro­gramms die reine Zahl ohne Tausender-Tren­ner ste­ht und Excel auch nicht ein Kom­ma son­dern einen Punkt als Dez­i­mal­tren­ner „sieht”. Die Funk­tion TEXT() sorgt dafür, dass der Wert dieser Zelle als Text mit genau den angegebe­nen Tren­nern dargestellt und gew­ertet wird. Die Berech­nung D2*$H$1 sollte klar sein, sie bildet die Grund­lage für den als Text darzustel­len­den Wert. Und das [$$-409] sorgt dafür, dass auch bei eventuellen Datums- und Zei­tangaben die amerikanis­che Norm ver­wen­det wird. Das direkt darauf fol­gende Leerze­ichen ist für etwas angenehmere Optik zuständig. Wollen Sie auss­chließlich die Währung umwan­deln, dann würde auch dieser Formelteil völ­lig reichen:

WECHSELN(TEXT(D3*$H$1;"$ #.##0,00")

Der rechts fol­gende Teil der Formel bleibt natür­lich so.

Kön­nen Sie sich vorstellen, warum nicht direkt das Kom­ma in einen Punkt und der Punkt in ein Kom­ma umge­wan­delt wird? Angenom­men, Sie begin­nen (wie auch in der Formel) mit dem Punkt. Dann wür­den ja die Tausender­punk­te in Kom­mas umge­wan­delt sein und das Dez­i­malkom­ma bleibt ja unange­tastet. Da kann man dann nicht ein­fach das Kom­ma in einen Punkt umwan­deln, es gibt ja (bei Zahlen ab 1.000) mehrere davon. Darum wird der Tausender-Punkt erst ein­mal in ein beliebiges Zeichen gewech­selt, welch­es mit Sicher­heit nicht in der Zahl vorkommt. Hier ist es der Unter­stre­ichubgsstrich, es kön­nte aber auch beispiel­sweise die Tilde (~) sein. Anschließend kann das Dez­i­malkom­ma zu einem Punkt umge­wan­delt wer­den und dann das Ersatzze­ichen zum US-Tausendertren­ner, also dem Kom­ma. Hört sich vielle­icht etwas kom­pliziert an, aber es funk­tion­iert.

Und noch ein Hin­weis sei uns ges­tat­tet: Die Sache mit den Län­der-Ein­stel­lun­gen des Betrieb­ssys­tems kön­nen Sie in dieser Hin­sicht vergessen. Erstens wer­den dann sys­temweit alle Anzeigen geän­dert, also in allen Pro­gram­men und zweit­ens wird dann natür­lich der Euro nicht kor­rekt dargestellt. Hier geht es ja darum, dass in einem Arbeits­blatt ver­schiedene Währun­gen orig­i­nal­ge­treu dargestellt wer­den.

$ zu € (Dollar zu Euro)

Ander­sherum geht es natür­lich auch. Sie haben ‑beispiel­sweise durch eine Import ein­er csv-Datei- in Spalte D den Dol­lar-Wert als Text ste­hen und dieser soll nun tage­sak­tuell in Euro umge­wan­delt wer­den. Die Län­dere­in­stel­lun­gen sind Stan­dard, also Deutsch­land. In der gezeigte Tabelle kön­nte das dann so ausse­hen:

Umwandlung Dollar zu Euro

Umwand­lung Dol­lar zu Euro

 Das Prinzip ist das gle­iche. Nur dass hier in den Spal­ten C:D Texte ste­hen und keine Zahlen. Das $-Zeichen ist mit einem Leerze­ichen von dem Betrag getren­nt. Diese Umwand­lungs­formel kön­nte dann so ausse­hen:

=WECHSELN(WECHSELN(WECHSELN(RECHTS(D2;LÄNGE(D2)-2);"$ ";"");",";"");".";",")/$H$1

Fällt Ihnen etwas auf? Da wird kein Unter­strich als Hil­f­skom­po­nente angewen­det, son­dern das Tausenderkom­ma wird ein­fach nur durch „nichts” (eigentlich ein Leer­String) erset­zt. Dann bleibt nur noch der tren­nende Punkt über, welch­er prob­lem­los in ein Kom­ma gewech­selt wer­den kann. Wegen der Divi­sion mit dem Umrech­nungskurs wird die nun als Zahl iden­ti­fizier­bare Zif­fer­n­folge automa­tisch in eine „echte” Zahl umge­wan­delt, mit welch­er Sie auch weit­er rech­nen kön­nen. Und weil es eine Zahl ist, kann diese auch als Währung dargestellt wer­den.

[NachOben­Let­zte Verweis=„T&T: Währungs­darstel­lung €$”]
Dieser Beitrag wurde unter Formatierung, Ohne Makro/VBA, Rechnen & Zahlen, Tabelle und Zelle, Tipps und Tricks abgelegt und mit , , , , , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.