Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1408to1412
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zahl aus Text, Uhrzeit und Stundenberechnung, Tage

Zahl aus Text, Uhrzeit und Stundenberechnung, Tage
15.02.2015 23:54:14
Jacob
Hallo,
ich habe einige Dateien die nach dem Muster
„01 Mo 0000 ~ 0200 *irgendeintext*“ benannt und in C1 aufgelistet sind.
In A1 lasse ich mit =TEIL(C1;4;2) den Tag anzeigen.
B1 soll aus „01 Mo 0000 ~ 0200 *irgendeintext*“ die 7-10 und D1 die 14-17 Stellen auslesen und als Zahlen formatieren.
Nach etlichen Stunden habe ich mir für B1

=WENN(TEIL(C9;6;6)>=4;ZEIT(LINKS(TEXT(TEIL(C9;6;6);"0000");2);TEIL(TEXT(TEIL(C9;6;6);"0000");3;2);0))   

und für D1

=WENN(TEIL(C1;13;6)>=5;ZEIT(LINKS(TEXT(TEIL(C1;13;6);"0000");2);TEIL(TEXT(TEIL(C1;13;6);"0000");3;2);  0)) -B1

Zusammengebastelt, obwohl mir die funktion TEIL noch ganz klar ist, bzw. für mich gelegentlich unerwartete Ergebnisse liefert, funktioniert das auch ganz gut.
Wenn es aber eine Namenskombination wie „01 Mo 2300 ~ 0200 *irgendeintext*“ gibt, gerät das ganze in D1 natürlich durcheinander.
Also wollte ich für D1 ein neues WENN für Tageübergreiffende Zeiten einbauen.

WENN(B1>A1;A1-B1+1;B1-A1)
kennt man ja, und das zu übertragen sollte nicht schwer sein, dachte ich.
Aber jetzt bin ich schon den ganzen Abend dabei zu probieren und komme einfach nicht weiter bzw. bekomme den Syntax offensichtlich nicht hin :(
Gruß
Jacob

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zahl aus Text, Uhrzeit und Stundenberechnung, Tage
16.02.2015 09:29:09
Matthias
Hallo Jacob
 CD
1NameLänge
2  
301 MO 2200 ~ 2300 - best of 2014 Teil 1 - Kopie (4)01:00
401 MO 2300 ~ 0100 - SektorT3FINALE -02:00
510 Mo 0100 ~ 0600 -1Versuch_1 Stunde Deep Purpl05:00
601 Mo 0600 ~ 0700 -1Versuch_1 Stunde Deep Purpl01:00
701 MO 0800 ~ 0800 - best of 2014 Teil 1 - Kopie (4)00:00
801 MO 0600 ~ 0700 - best of 2014 Teil 1 - Kopie (4)01:00
901 MO 0200 ~ 0400 - SektorT3FINALE -02:00

Formeln der Tabelle
ZelleFormel
D3=REST((ZEIT(TEIL(C3;13;3);0;0)-ZEIT(TEIL(C3;6;3);0;0));1)
D4=REST((ZEIT(TEIL(C4;13;3);0;0)-ZEIT(TEIL(C4;6;3);0;0));1)
D5=REST((ZEIT(TEIL(C5;13;3);0;0)-ZEIT(TEIL(C5;6;3);0;0));1)
D6=REST((ZEIT(TEIL(C6;13;3);0;0)-ZEIT(TEIL(C6;6;3);0;0));1)
D7=REST((ZEIT(TEIL(C7;13;3);0;0)-ZEIT(TEIL(C7;6;3);0;0));1)
D8=REST((ZEIT(TEIL(C8;13;3);0;0)-ZEIT(TEIL(C8;6;3);0;0));1)
D9=REST((ZEIT(TEIL(C9;13;3);0;0)-ZEIT(TEIL(C9;6;3);0;0));1)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Vor der Stunde ist noch ein Sonderzeichen, das Du evtl. erst ersetzen solltest.
Deshalb die Länge=3 bei der Stunde.
Gruß Matthias

Anzeige
Korrektur ...
16.02.2015 09:58:40
Matthias
Hallo
 CD
1NameLänge
2  
301 MO 2200 ~ 2300 - best of 2014 Teil 1 - Kopie (4)01:00
401 MO 2300 ~ 0100 - SektorT3FINALE -02:00
510 Mo 0100 ~ 0600 -1Versuch_1 Stunde Deep Purpl05:00
601 Mo 0600 ~ 0700 -1Versuch_1 Stunde Deep Purpl01:00
701 MO 0800 ~ 0800 - best of 2014 Teil 1 - Kopie (4)00:00
801 MO 0600 ~ 0700 - best of 2014 Teil 1 - Kopie (4)01:00
901 MO 0200 ~ 0400 - SektorT3FINALE -02:00

Formeln der Tabelle
ZelleFormel
D3=REST((ZEIT(TEIL(C3;14;2);0;0)-ZEIT(TEIL(C3;7;2);0;0));1)
D4=REST((ZEIT(TEIL(C4;14;2);0;0)-ZEIT(TEIL(C4;7;2);0;0));1)
D5=REST((ZEIT(TEIL(C5;14;2);0;0)-ZEIT(TEIL(C5;7;2);0;0));1)
D6=REST((ZEIT(TEIL(C6;14;2);0;0)-ZEIT(TEIL(C6;7;2);0;0));1)
D7=REST((ZEIT(TEIL(C7;14;2);0;0)-ZEIT(TEIL(C7;7;2);0;0));1)
D8=REST((ZEIT(TEIL(C8;14;2);0;0)-ZEIT(TEIL(C8;7;2);0;0));1)
D9=REST((ZEIT(TEIL(C9;14;2);0;0)-ZEIT(TEIL(C9;7;2);0;0));1)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Matthias

Anzeige
Texte und Zeiten (Zahlen)
16.02.2015 09:54:03
Erich
Hi Jacob,
bei deinen Formeln gibt es ein paar Probleme:
WENN(TEIL(C9;6;6)>=4;
TEIL(C9;6;6) ist ein Text, 4 ist eine Zahl, die WENN-Bedingung ist IMMER erfüllt, also sinnlos.
Zu dem WENN gibt es einen DANN-, aber keinen SONST-Wert. Was wird hier eiggentlich geprüft?
TEIL(C1;13;6)
Warum holst du hier 6 Stellen aus dem Text, wo du doch für eine Zeit nur nur 4 Stellen brauchst?
WENN(B1>A1;A1-B1+1;B1-A1) kennt man ja...
Ja, aber man kennt eher
REST(B1-A1;1)
wenn es um die Differenz zweier Uhrzeiten auch über Mitternacht hinweg geht.
Schau dir das mal an:
 ABCDEF
1WochentagStartzeitNameLänge  
2MO23:0001 MO 2300 ~ 0100 - SektorT3FINALE --0,91666667  
3MO23:0001 MO 2300 ~ 0100 - SektorT3FINALE -02:0001:0002:00
4MO23:0001 MO 2300 ~ 0105 - SektorT3FINALE -02:0501:0502:00

Formeln der Tabelle
ZelleFormel
A2=TEIL(C2;4;2)
B2=WENN(TEIL(C2;6;6)>=4;ZEIT(LINKS(TEXT(TEIL(C2;6;6); "0000"); 2); TEIL(TEXT(TEIL(C2;6;6); "0000"); 3;2); 0))
D2=WENN(TEIL(C2;13;6)>=5;ZEIT(LINKS(TEXT(TEIL(C2;13;6); "0000"); 2); TEIL(TEXT(TEIL(C2;13;6); "0000"); 3;2); 0))-B2
A3=TEIL(C3;4;2)
B3=0+TEXT(TEIL(C3;7;4); "00\:00")
D3=REST(TEXT(TEIL(C3;14;4); "00\:00")-TEXT(TEIL(C3;7;4); "00\:00"); 1)
E3=0+TEXT(TEIL(C3;14;4); "00\:00")
F3=REST((ZEIT(TEIL(C3;13;3); 0;0)-ZEIT(TEIL(C3;6;3); 0;0)); 1)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Matthias' Formel (in F3) klappt nur bei vollen Stunden wirklich gut. :-)
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: Texte und Zeiten (Zahlen)
16.02.2015 10:39:29
Matthias
Hallo Erich
Matthias' Formel (in F3) klappt nur bei vollen Stunden wirklich gut. :-)
Ja, die Minuten standen ja in seinem Bsp. auch alle auf 0
Hätt ich aber bei Bedarf auch gelöst ;-)
Mit einer 2.Teilformel bei den Minuten.
 CD
1NameLänge
2  
301 MO 2215 ~ 2300 - best of 2014 Teil 1 - Kopie (4)00:45
401 MO 2320 ~ 0100 - SektorT3FINALE -01:40
510 Mo 0105 ~ 0600 -1Versuch_1 Stunde Deep Purpl04:55

Formeln der Tabelle
ZelleFormel
D3=REST((ZEIT(TEIL(C3;14;2);TEIL(C3;16;2);0)-ZEIT(TEIL(C3;7;2);TEIL(C3;9;2);0));1)
D4=REST((ZEIT(TEIL(C4;14;2);TEIL(C4;16;2);0)-ZEIT(TEIL(C4;7;2);TEIL(C4;9;2);0));1)
D5=REST((ZEIT(TEIL(C5;14;2);TEIL(C5;16;2);0)-ZEIT(TEIL(C5;7;2);TEIL(C5;9;2);0));1)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Matthias

Anzeige
AW: Texte und Zeiten (Zahlen)
17.02.2015 08:13:28
Jacob
Guten Morgen,
vielen Dank euch beiden, das ist genau was ich brauche :)
WENN(B1>A1;A1-B1+1;B1-A1) kennt man ja...
Ja, aber man kennt eher
REST(B1-A1;1)
Es hätte natürlich heissen müssen;
=WENN(B26 -das geht dann auch über die Tagesgrenze hinweg.
Gibt es einen Vorteil von REST den man kennen sollte?
nochmals vielen Dank, das Hilft mir wirklich weiter!
Als nächstes will ich versuchen, die Dateiliste aus einem Verzeichniss auszulesen und dann in Excel zu importieren..
Grüße aus Berlin :)
Jacob

Anzeige
AW: Texte und Zeiten (Zahlen)
17.02.2015 08:18:45
Jacob
falsche formatiert..
es hätte natürlich
=WENN(B1 

heissen sollen, dass geht dann auch über die Tagesgrenze.
Bitte entschuldigt, ich werde mich das nächste mal mit der Korrekten Formatierung beschäftigen, wollte aber diesesmal ganz schnell thx sagen.

AW: Texte und Zeiten (Zahlen)
17.02.2015 09:27:00
Jacob
Schneller wieder hier als gedacht..
Vielleicht habt Ihr auch hierfür einen Tipp.
Ich habe in VBA Script gefunden, was genau das macht was ich suche, allerdings finde ich nicht raus wie ich die Startzeile festlegen kann.
Beginnen soll das ganze ab C2
Sub AudiosEinlesenHV()
Dim zeile As Variant
Dim sFile As String, sPattern As String, sPath As String
Dim iRow As Integer
Columns(3).ClearContents
sPath = "d:\downloads" ' Hier gibst Du Deinen Pfand zum gewünschten Verzeichnis an
If Right(sPath, 2)  "\" Then sPath = sPath & "\"
sPattern = "*.*"
sFile = Dir(sPath & sPattern)
Do Until sFile = ""
iRow = iRow + 1
Cells(iRow, 3).Value = sFile
sFile = Dir()
Loop
For zeile = 5 To Cells.SpecialCells(xlLastCell).Row
Next
End Sub 'Bei erneutem Aufruf werden die alten Funde überschrieben
Cells verstehe ich, aber wie kann ich das in Kombination mit iRow verwenden?
Grüße aus dem Sonnigen Berlin ;)

Anzeige
kaum zu ändern
17.02.2015 10:03:23
Erich
Hi Jacob,
schau dir das mal an:

Sub AudiosEinlesenHV()
Dim zeile As Long ' nicht: Variant
Dim sFile As String, sPath As String
Dim iRow As Long ' nicht: Integer
Columns(3).ClearContents
sPath = "d:\downloads"                       ' gewünschtes Verzeichnis
If Right(sPath, 1)  "\" Then sPath = sPath & "\"
sFile = Dir(sPath & "*.*")
iRow = 1                         ' Zeile 1 etwa für Überschrift
Do Until sFile = ""
iRow = iRow + 1               ' Einträge ab Zeile 2
Cells(iRow, 3).Value = sFile
sFile = Dir()
Loop
For zeile = 5 To Cells.SpecialCells(xlLastCell).Row
Next
End Sub
Variablen für Zeilen- oder Spaltennummern deklariert man besser als Long.
Cells(15, 3).Row liefert den Wert 15 als Long.
REST(B1-A1;1) ist einfacher und kürzer als
WENN(B1<A1;A1-B1;B1-A1)
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: kaum zu ändern
17.02.2015 10:41:23
Jacob
Ich danke Dir für Deine Unterstützung..
An VBA taste ich mich grade das erstemal ran, das Script habe ich zugegeben kopiert und versuche nun das zu verstehen..
(Hoffendlich) die letzte Frage hierzu;
Ist es möglich ein Auswahldialog für den "sPath" zu erstellen?
-Alle beispiele die ich auf anhieb finde, verwenden "Dim Pfad As String".

AW: Folder aus Dialog
18.02.2015 16:40:24
Jacob
:) thx

321 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige