Hallo Zusammen,
Ich habe eine Datenbankabfrage, welche mir Zeiten von Stundenkonten ausliest. Die Werte kommen als String z.B.: „77:50“ oder „-01:48“
Um mit disen Daten weiterarbeiten zu können muss ich sie in eine Dezimalzahl Wandeln.
Mit der Funktion „=LINKS(A3;LÄNGE(A3)-3)“ hole ich mir die vollen Stunden.
Mit der Funktion „=RUNDEN(RECHTS(A3;2)*(100/60);0)/100“ die Minuten.
Den Zellen mit den Minuten habe ich das Zellenformat „Zahl mit 2 Dezimalstellen“ gegeben, damit ich später mit der Funktion
„=WERT(B3)&RECHTS(WERT(C3);3)“ die beiden Zelleninhalte zusammenfügen kann.
Jetzt komme ich zu meinem Problem. die Funktion „Wert“ erkennt die künstlich angehängte „0“ durch die Zellenformatierung „2 Nachkommastellen“ nicht. der Wert aus der Zelle „0,80“ ist also nur „0,8“
Wenn ich jetzt die Stunden und Minuten mit „=WERT(B3)&RECHTS(WERT(C3);3)“ zusammensetzte nimmt er aus C3 nicht „,80“ sondern "0,8).
Mit dieser zusätzlichen 0 wir meine Stundenzahl praktisch verzehnfacht.
Hat von Euch jemand eine Lösung für dieses Problem? Wäre wirklich super.
Gruß
Marc
Wenn ich jetzt die Stunden und Minuten mit
„=WERT(B3)&RECHTS(WERT(C3);3)“ zusammensetzte nimmt er aus C3
nicht „,80“ sondern "0,8).
Hallo Marc
Ich habe versucht, nach Deinen Angaben eine xls-Tabelle zu erstellen. Da stellt sich überhaupt kein Problem. Excel 2003.
Mit dieser zusätzlichen 0 wir meine Stundenzahl praktisch
verzehnfacht.
0,80 ist doch nicht das Zehnfache von 0,8.
Lade Deine Datei doch mal hoch. Vielleicht sieht man da was.
z. B. mit http://www.file-upload.net/
Grüsse Niclaus
Hallo Marc,
interessant, hab da grad noch keinen Plan warum das geschieht, ich habe da auch Faktor 10 in Spalte B drin.
Diese Kleinigkeit
erstmal weglassend, wie soll denn ddein Ergebnis aussehen, wie in C oder wie in D?
Tabellenblatt: [Mappe1]!Tabelle1
│ A │ B │ C │ D │
──┼────────┼────────┼───────┼────────┤
1 │ 77:50 │ 770,83 │ 77,83 │ 77,83 │
──┼────────┼────────┼───────┼────────┤
2 │ -01:48 │ -10,80 │ -1,8 │ -01,80 │
──┴────────┴────────┴───────┴────────┘
Benutzte Formeln:
B1: =WERT(LINKS(A1;FINDEN(":";A1)-1)&WECHSELN(A1;LINKS(A1;FINDEN(":";A1)-1)&":";"")/60)
B2: =WERT(LINKS(A2;FINDEN(":";A2)-1)&WECHSELN(A2;LINKS(A2;FINDEN(":";A2)-1)&":";"")/60)
Zahlenformate der Zellen im gewählten Bereich:
A1:A2,D1:smiley:2
haben das Zahlenformat: Text
B1:B2
haben das Zahlenformat: 0,00
C1:C2
haben das Zahlenformat: Standard
Tabellendarstellung erreicht mit dem Code in FAQ:2363
Gruß
Reinhard
Mit dieser zusätzlichen 0 wir meine Stundenzahl praktisch
verzehnfacht.
0,80 ist doch nicht das Zehnfache von 0,8.
Hallo Niclaus,
mathematisch hast du Recht, aber als String ist 80 10mal größer als 8 wenn man 0,8 oder 0,80 auswertet als String.
Die Formeln des Anfragers habe ich nicht getestet aber auch in meinen Versuchen ist der Faktor 10 drin.
Ich muß da mal genauer schauen warum…
Gruß
Reinhard
Hallo Nicolaus,
0,80 ist doch nicht das Zehnfache von 0,8.
Das ist schon richtig, das Problem kommt daher, dass ich von rechts aus 3 Zeichen auslese und diese an meine Stundenzahl anfüge. bei 0,80 würde ich also „,80“ auslesen, an die Stunden anhängen, alles prima.
Bei 0,8 liest die Funktion aber „0,8“ aus, wenn das dann an z.B. „70“ Stunden anhänge kommt da folgendes raus: "70"„0,8“ also 700,8
Ich lade die Datei nachher mal hoch, bin gerade am falschen Rechner.
Marc
Hallo Marc,
wie wäre es damit:
Tabellenblatt: [Mappe1]!Tabelle1
│ A │ B │
──┼────────┼───────┤
1 │ 77:50 │ 77,83 │
──┼────────┼───────┤
2 │ -01:48 │ -1,80 │
──┴────────┴───────┘
Benutzte Formeln:
B1: =WERT(LINKS(A1;FINDEN(":";A1)-1)&","&TEIL(WECHSELN(A1;LINKS(A1;FINDEN(":";A1)-1)&":";"")/60;3;999))
B2: =WERT(LINKS(A2;FINDEN(":";A2)-1)&","&TEIL(WECHSELN(A2;LINKS(A2;FINDEN(":";A2)-1)&":";"")/60;3;999))
Zahlenformate der Zellen im gewählten Bereich:
A1:A2
haben das Zahlenformat: Text
B1:B2
haben das Zahlenformat: 0,00
Tabellendarstellung erreicht mit dem Code in FAQ:2363
Gruß
Reinhard
Grüezi Marc
Ich habe eine Datenbankabfrage, welche mir Zeiten von
Stundenkonten ausliest. Die Werte kommen als String z.B.:
„77:50“ oder „-01:48“
Wie genau berechnest Du denn die negativen Zeitwerte?
Wenn Du die 1904-Datumswerte aktiviert hast, dann reicht die folgende Formel für deinen Bedarf aus:
=WENN(LINKS(A1;1)="-";-WECHSELN(A1;"-";"");–A1)
Wenn Du die negativen Zeitwere auch als positive in einer zweiten Spalte führen willst/kannst dürfte die folgende Variante klappen:
=WENN(LINKS(A1;1)="-";–WECHSELN(A1;"-";"");"")
Mit freundlichen Grüssen
Thomas Ramel
Hallo Reinhard,
ich bin jetzt dazu gekommen Deine neue Formel zu testen.
Sie funktiniert PERFEKT!!!
Vielen Dank, momentan bin ich noch damit beschäftigt sie komplett
zu verstehen, doch das wird auch nach 
Gruß
Marc