Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zeitangabe in hh:mm:ss darstellen
#1
Hi,

ich habe folgendes Problem.

Ich habe ein Excell Sheet in dem Minuten und Sekunden nicht in hh:mm:ss dargestellt werden, sondern als Zahl und Text.

Beispiel:

in Zelle A steht zum Beispiel:
1m  3s
3m  15s
7m  1s

es wäre natürlich schön wenn er diese Werte in Zelle B als hh:mm:ss darstellen würde, also
00:01:03
00:03:15
00:07:01

Ist das möglich?

vielen lieben Dank
Antworten Top
#2
Hallo,

versuche es mal hiermit...



Code:
=TEXT("00:"&LINKS(A3;SUCHEN("m";A3)-1)&":"&TEIL(A3;SUCHEN("s";A3)-2;2);"hh:mm:ss")
Antworten Top
#3
Hallo,

=(TEIL(A1;1;SUCHEN("m";A1)-1)*60+WECHSELN(TEIL(A1;SUCHEN(" ";A1)+1;9);"s";""))/60/60/24

Zahlenformat der Zelle(n): [h]:mm:ss

Gruß Uwe
Antworten Top
#4
Da es 7 solche Kombinationen gibt (h hm hms hs m ms s):

=--(
WENN(ISTZAHL(SUCHEN("h";A1));WECHSELN(TEIL(A1;SUCHEN("h";" "&A1)-2;2);"h";":");"0:")&
WENN(ISTZAHL(SUCHEN("m";A1));WECHSELN(TEIL(A1;SUCHEN("m";" "&A1)-2;2);"m";":");"0:")&
WENN(ISTZAHL(SUCHEN("s";A1));WECHSELN(TEIL(A1;SUCHEN("s";" "&A1)-2;2);"s";" ");"0 "))


Entweder mit TEXT umschließen oder als hh:mm:ss formatieren.

Prämissen: Maximal 2stellige einzelne Zeitzahlen, außerdem: Reihenfolge hms darf abweichen.

Ab Excel 2019:
=--TEXTKETTE(WENN(ISTZAHL(SUCHEN({"h"."m"."s"};A1));WECHSELN(TEIL(A1;SUCHEN({"h"."m"."s"};" "&A1)-2;2);{"h"."m"."s"};":");"0:"))

Stimmt noch nicht!
Antworten Top
#5
Hi,

mein Vorschlag für ein aktuelles Excel:

=LET(x;TEXTTEILEN(A1;" ";;WAHR);z;--LINKS(x;LÄNGE(x)-1);b;RECHTS(x;1);m;XVERWEIS(b;{"h";"m";"s"};{3600;60;1};;0;1);SUMME(z*m/86400))

x: Zahl-Buchstaben-Kombination
z: Zahl
b: Buchstabe
m: Multiplikator (Anzahl Sekunden)

Die Summe ergibt dann ein echtes Exceldatum. Entsprechend muss die Zelle dann mit hh:mm:ss formatiert sein.

Dabei ist es egal wie viele Ziffern jeder Teil hat oder in welcher Reihenfolge die Teile kommen. Ja die einzelnen Teile können sogar mehrfach vorkommen oder entfallen. Wichtig ist nur, dass die einzelnen Teile durch ein oder mehrere Leerzeichen getrennt sind und zwischen Ziffer und Zahl kein Leerzeichen steht.

Man könnte das Ganze auch noch auf Tage erweitern. Dazu müssten nur die beiden Vektoren beim XVerweis mit "d" und 86400 ergänzt werden.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#6
=SUMMENPRODUKT(WENN(ISTZAHL(SUCHEN({"h"."m"."s"};A1));TEIL(0&A1;SUCHEN({"h"."m"."s"};0&A1)-2;2))*2,5/60^{1.2.3})

auch altes Excel (Zahlen 2stellig maximal, Reihenfolge h:m:s (Auslasser erlaubt) notwendig, Leerzeichen statt ZEICHEN(160))

Falls doch noch Fehler: Hatte keinen Bock, noch mehr zu testen. Hier 2021/365/Web:

=LET(y;0&A1;z;SUCHEN({"h"."m"."s"};y);SUMME(WENN(ISTZAHL(z);TEIL(y;z-2;2))*2,5/60^{1.2.3}))
Antworten Top
#7
vielen lieben Dank an euch alle, für eure Mühe und Zeit! Funktioniert super
Antworten Top
#8
Odeer

PHP-Code:
=--SUBSTITUTE("00:"&LEFT(A1;LEN(A1)-1);"m"&CHAR(160)&" ";":"
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#9
snb: Zu beschränkt gesehen (es geht doch - unausgesprochen - um die 7 möglichen Kombinationen). 
Und ZEICHEN(160) ist nicht korrigiert (hat da nichts zu suchen).
Antworten Top
#10
In https://www.clever-excel-forum.de/Thread...#pid273876
sehe ich keine 7 Kombinationen.

Dann wäre ein UDF spwieso sinnvoller (auch International):

Code:
Function F_snb(c00)
   On Error Resume Next
   sn = Split(c00)
   F_snb = TimeSerial(0, 0, Val(sn(0)))
   F_snb = TimeSerial(0, Val(sn(0)), Val(sn(1)))
   F_snb = TimeSerial(Val(sn(0)), Val(sn(1)), Val(sn(2)))
End Function
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste