Seite 1 von 2
Kommazahl in Ganzzahl umwandeln
Verfasst: So, 08.06.2014 16:17
von MikeTwin
Hallo Leute,
ich grübel hier vor einem Problem.
Ich habe eine Tabelle in der die Differenzen von Währungen stehen.
Zur Erklärung ein Beispiel:
Kurs EURO USD Gestern 1,3640 | Kurs Heute 1,3645 | Differenz = 0,0005
Kurs USD Japanischer Yen Gestern 102,50 | Kurs Heute 102,24 | Differenz = 0,26
Diese Differenzen bezeichnet man als Pips und sollen als Ganzzahl angezeigt werden.
Aber, wie bekomme ich das am besten hin ???
Danke für Eure Hilfe.
Re: Kommazahl in Ganzzahl umwandeln
Verfasst: So, 08.06.2014 16:49
von MikeTwin
Ja, da hast du natürlich recht.
Ich brauche anstatt der 0,0005 nur die 5 oder anstatt einer 0,23 nur die 23.
Ich habe schon versucht durch =WECHSELN das Komma zu löschen, als Ergebnis bekomme ich dann 00005 oder 023.
mmmhhhh ???
Re: Kommazahl in Ganzzahl umwandeln
Verfasst: So, 08.06.2014 17:38
von Stephan
als Ergebnis bekomme ich dann 00005 oder 023.
Du bist fähig mittels WECHSELN() ein Komma zu eliminieren aber Du bist nicht in der Lage mit WECHSELN() eine Null zu eliminieren?
Wenn ein Komma so verschwindet:
=WECHSELN(A1;",";"")
verschwindet natürlich eine Null genauso:
=WECHSELN(A1;"0";"")
und Beides nacheinander ist dann:
=WECHSELN(WECHSELN(A1;",";"");"0";"")
wenn Du einen Zahl brauchst käme dann noch ein WERT() hinzu:
=WERT(WECHSELN(WECHSELN(A1;",";"");"0";""))
Gruß
Stephan
Re: Kommazahl in Ganzzahl umwandeln
Verfasst: Mo, 09.06.2014 06:50
von paljass
Moin,
@Stephan
wenn Du einen Zahl brauchst käme dann noch ein WERT() hinzu:
=WERT(WECHSELN(WECHSELN(A1;",";"");"0";""))
Wenn ein Zahl gebraucht wird - und m.W. ist das bei Pips so - dann reicht es, dass Komma durch nichts zu ersetzen und den so gewonnenen Text in einen Wert umzuwandeln; die führenden Nullen löscht Calc automatisch.
Also einfach
Gruß
paljass
Re: Kommazahl in Ganzzahl umwandeln
Verfasst: Mo, 09.06.2014 09:49
von MikeTwin
Stephan hat geschrieben:als Ergebnis bekomme ich dann 00005 oder 023.
Du bist fähig mittels WECHSELN() ein Komma zu eliminieren aber Du bist nicht in der Lage mit WECHSELN() eine Null zu eliminieren?
Aua... na klar.
Danke erstmal für Eure Hilfe.
Aus den Lösungen ergibt sich aber ein neues Problem:
Bei einem Wert von 0,0020 werden halt alle Nullen gelöscht, als Ergebnis kommt dann halt nur 2 anstatt 20.
Ist es möglich bei einer Zahl die Anzahl der Dezimalstellen nach dem Komma zu errechnen ? Daraus würde sich evtl. eine andere Möglichkeit ergeben.
Ich werde mal nach so einer Funktion suchen...
Gruß
Mike
Re: Kommazahl in Ganzzahl umwandeln
Verfasst: Mo, 09.06.2014 10:25
von MikeTwin
Ne, leider ist das Ergebnis unverändert.
Also, meine Idee:
=WENN(ZAHL X = 4 Kommastellen; (ZAHL X * 10000).....)
Das Problem ist das ich eine unterschiedliche Anzahl von Nachkommastellen habe: 0,002 oder 0,00009 etc.
Wenn ich also wüsste wie viel Kommastellen ist habe, könnte das ein Lösungsansatz sein.
Re: Kommazahl in Ganzzahl umwandeln
Verfasst: Mo, 09.06.2014 10:43
von Rocko
MikeTwin hat geschrieben:Wenn ich also wüsste wie viel Kommastellen ist habe, könnte das ein Lösungsansatz sein.
Mein Umgang mit Formeln beschränkt sich zwar auf ein Minimalmaß. Dennoch glaube ich nicht, dass ein Teilbereich aus Nachkommawerten selektiert werden kann, ohne den Wert
zuvor in Text umzuwandeln.
Re: Kommazahl in Ganzzahl umwandeln
Verfasst: Mo, 09.06.2014 11:00
von MikeTwin
Hallo Rocko,
dein Grundgedanke ist gar nicht schlecht, nur was ist wenn ich eine Zahl mit nur drei Nachkommastellen habe ?
Das man den Wert in einen Text umwandeln muss war auch mein Gedankengang, danke für die Formel dafür.
Ich weiß das es z.B. in PHP eine Funktion gibt, mit der die Anzahl der Zeichen nach einem Auftreten eines Zeichens zählen lassen kann.
Ich bin mir sicher das es auch in Calc eine Lösung dafür gibt.
Re: Kommazahl in Ganzzahl umwandeln
Verfasst: Mo, 09.06.2014 12:12
von Stephan
wenn in A1 der Inhalt
(*) 0,0020 steht ergibt:
=WECHSELN(A1;",";"")
00020 und:
=GANZZAHL(WECHSELN(A1;",";""))
20.
(*)
"Inhalt" ist hier Ausdruck der Eingabe und nicht der Darstellung, m. E. ist nämlich ein entsprechender Wert garnicht möglich wenn die Zellformatierung universell gültig sein soll. Ein wirklicher Inhalt von 0,0020 scheint mir hier nur möglich wenn man das als String eingibt.
Bei einem Wert von 0,0020 werden halt alle Nullen gelöscht, als Ergebnis kommt dann halt nur 2 anstatt 20.
Tja, nur wie kommt ein solcher Wert[sic] denn zustande? Die formatierte Darstellung eines Wertes ist nicht der Wert selbst.
Gruß
Stephan
Re: Kommazahl in Ganzzahl umwandeln
Verfasst: Mo, 09.06.2014 12:14
von paljass
Hi,
vermutlich wirst du da mit Calc-Mitteln nicht weiterkommen, weil Calc die letzte 0 nur anzeigt, wenn die Zelle mit entsprechend vielen Nachlommastellen formatiert ist.
Formate können m.W. jedoch nicht mit Fundktionen wie Länge() oder auch Teil() weiterverarbeitet werden.
Möglicherweise geht da was mit Makroprogrammierung; frag doch mal in dem Forum nach.
Gruß
paljass
Re: Kommazahl in Ganzzahl umwandeln
Verfasst: Mo, 09.06.2014 12:18
von Stephan
vermutlich wirst du da mit Calc-Mitteln nicht weiterkommen, weil Calc die letzte 0 nur anzeigt, wenn die Zelle mit entsprechend vielen Nachlommastellen formatiert ist.
genau, auch mir scheint das hier der Knackpunkt.
Gruß
Stephan
Re: Kommazahl in Ganzzahl umwandeln
Verfasst: Mo, 09.06.2014 12:45
von MikeTwin
Ok..., ich nehme das erstmal so hin.
Trotzdem vielen Dank an alle die nach einer Lösung gesucht haben.
Ich wünsch Euch noch einen angenehmen Feiertag und genießt die Sonne.
Gruß
Mike
Re: Kommazahl in Ganzzahl umwandeln
Verfasst: Mo, 09.06.2014 13:33
von Stephan
Ok..., ich nehme das erstmal so hin.
Und Wieso?
Es wäre doch jetzt an Dir ein Beispiel zuliefern auf Welches sich Deine Anforderung bezieht, denn dein Problem ist doch leicht lösbar sobald feststeht wie die 'Ausgangslage' ist, da ja nur 2 Möglichkeiten denkbar sind, wenn man deinen Ausführungen folgt das:
Zur Erklärung ein Beispiel:
Kurs EURO USD Gestern 1,3640 | Kurs Heute 1,3645 | Differenz = 0,0005
Kurs USD Japanischer Yen Gestern 102,50 | Kurs Heute 102,24 | Differenz = 0,26
Diese Differenzen bezeichnet man als Pips und sollen als Ganzzahl angezeigt werden.
nämlich:
(a)
die Ergebniszelle (wo die Differenz errechnet wird) hat eine spezielle Formatierung
(b)
die Ergebniszelle (wo die Differenz errechnet wird) hat eine solche spezielle Formatierung nicht
Falls (a) zutrifft ist die Lösung der Umwandlung von 0,0020 leicht weil ja eine spezifische Formatierung gegeben ist.
Falls (b) zutrifft nenne ein Beispiel bei dem 0,0020 auftreten kann und es wird sich eine Lösung finden lassen
Gruß
Stephan
Re: Kommazahl in Ganzzahl umwandeln
Verfasst: Mo, 09.06.2014 14:33
von MikeTwin
Ich vielleicht schreiben sollen:
"Dann nehme ich das jetzt erstmal so hin".
Ich verschiebe die Lösungsversuche nur zeitlich nach hinten. Da ich weiß das es dafür eine Lösung gibt, werde ich sie auch finden.
Ich habe jetzt einfach erstmal in einer Zelle einen Multiplikator festgelegt, den muss ich natürlich händisch anpassen. Aber so habe ich das Ergebnis was ich für die Risikoberechnung brauche.
Aber schön @Stephan, das du nicht locker lässt, ich werde mich wieder melden wenn ich der Lösung wieder ein Stück näher bin.
Bis dahin
Mike
Re: Kommazahl in Ganzzahl umwandeln
Verfasst: Mo, 09.06.2014 16:30
von Stephan
Natürlich gibt es eine Lösung, nur verstehst Du mich irgendwie falsch. Das Ganze hier ist kein Wettbewerb wer von uns der Klügere ist sondern es geht lediglich um ein interessantes Problem.
Alles was wir brauchen ist ein Beispiel wo die Zahl 0,0020 (oder eine adäquate Zahl) überhaupt auftritt, denn meine Vermutung ist das Du Dir das nur theoretisch überlegt hast.
(ziemlich) sicher bin ich mir das solche Zahlen garnicht auftreten können wenn Du eine Differenz zwischen 2 Zahlen in Calc bildest wie beschrieben:
Zur Erklärung ein Beispiel:
Kurs EURO USD Gestern 1,3640 | Kurs Heute 1,3645 | Differenz = 0,0005
Kurs USD Japanischer Yen Gestern 102,50 | Kurs Heute 102,24 | Differenz = 0,26
Diese Differenzen bezeichnet man als Pips und sollen als Ganzzahl angezeigt werden.
gleichzeitig sehe ich keinen Weg solche Zahlen in einer allgemeingültig formatierten Zelle per Hand als Zahl einzutragen, trägst Du sie hingegen als Text ein, gibt es ja im Thread bereits eine genannte Lösung.
Gruß
Stephan