# Formatierung in Excel



## bits'bytes (16 Mai 2012)

Hallo

wenn ich aus einer Text-Datei Inhalte nach Excel kopiere habe ich folgendes Verhalten


```
2012-05-16 15:17:44.281   122 
[COLOR=#ff0000]2012-05-16 15:18:22.033    98 
2012-05-16 15:18:25.026   100 
[/COLOR]
```


Wenn in der Text-Datei (letzte 2 Zeilen) die Hunderstel Sekundenangabe mit 0 beginnt, Formatiert Excel dass als Text anstatt als Uhrzeit.

Möchte ich dann die Zeitdifferenz berechnen, bringt das natürlich einen Fehler .
siehe Beispiel hier


```
16.05.2012 15:16 100  
16.05.2012 15:17  80  00:42,0
16.05.2012 15:17 100  00:03,0
16.05.2012 15:17 122  00:03,0
[COLOR=#ff0000][B]2012-05-16 15:18:22.033 98  #WERT!
2012-05-16 15:18:25.026 100  #WERT!
2012-05-16 15:18:28.027 122  #WERT!
[/B][/COLOR]16.05.2012 15:19 98  #WERT!
16.05.2012 15:19 100  00:03,0
16.05.2012 15:19 122  00:03,0
16.05.2012 15:19  98  00:40,0
```

Weiss vielleicht jemand wie man das abstellen kann ?

Danke schön
bg
bb


----------



## Larry Laffer (16 Mai 2012)

Hallo,
nach meinem Kenntnisstand kann Excel nur Sekunden als kleinste Einheit erkennen. Das Time-Format selber wird allerdings als Dezimal-Tag dargestellt (also 12:00 uhr entspricht 0,5). Millisekunden kennt Excel nicht. Du könntest jetzt natürlich hergehen und dir mit einer selbstgeschriebenen Funktion (in VB-Script) den übergebenen Wert in ein Millisekunden-Format umrechnen (wie in der SPS) und diese Werte dann subtrahieren um die Differenz zu bilden und dann diese wieder in Excel darstellen. Etwas anderes fällt mir dazu aber jetzt nicht ein ...

Gruß
Larry


----------



## bits'bytes (16 Mai 2012)

Hallo Larry,



Larry Laffer schrieb:


> Hallo,
> nach meinem Kenntnisstand kann Excel nur Sekunden als kleinste Einheit erkennen.



ja tatsächlich, sieht so aus. Bei meinen Berechnungen ist die 1/100 Sekunden Zahl immer 0. Ist mir noch gar nicht aufgefallen 

Das heißt: ich habe 2 Probleme...

Aber momentan würde mir eine Auflösung von 1 Sekunde eigentlich reichen.

Bleibt das zweite Problem: *warum macht Excel eine TEXT Formatierung* für den Eintrag wenn die Hundertstel mit 0 beginnen (also z.B. *15:18:22.033 *). Dann funktioniert natürlich meine Formel für die Differenzberechnung nicht, da diese einfach so lautet : =A5 - A4 (zum Beispiel)

Das ganze ist nicht so wichtig dass ich hier Aufwand betreiben möchte - ich hätte das halt manchmal benötigt. Programmieren möchte ich deswegen nicht ....

Danke
bg
bb


----------



## nutellahase (17 Mai 2012)

Hallo bits'bytes,

Meinst du so? Leider konnte ich keine Excel Datei hochladen, daher nur ein Screenshot.



Unter der Voraussetzung dass in einer Zelle folgendes "Format" steht : hh:mm:ss.xxx wobei xxx = Millisekunden sind. (Die Zelle hat bei mir Standardformat)

Über eine Hilfstabelle könntest du dir nun aus der jeweiligen Zelle immer die Teilstrings ziehen (kannst die Spalten ja ausblenden) => *Funktion Teil(Text,Erstes Zeichen, Anzahl Zeichen)*
Damit kannst du dir dann die Differenz bilden. Damit du immer einen positiven Wert bekommst solltest du die* Funktion ABS* benutzen die gibt dir dann immer den Betrag zurück!

Zu guter letzt musst du dann natürlich die einzelnen Strings wieder zu einen Gesamtstring zusammenfassen, das geht u.a. so: *A1&":"&B1&":"&C1&"."&D1&E1&F1*
Achja damit die Zahlen mit führenden Nullen ergänzt werden musst du bei der Differenzbildung noch diese Funktion anwenden *TEXT(ABS(Zahl);"00")* bedeutet wenn die Differenz z.B. 1 beträgt steht dann in der Zelle 01!

mfg

PS: Excel 2007


----------



## bits'bytes (17 Mai 2012)

Hallo Nutellahase,


danke für die Mühe - aber genau das wollte ich vermeiden - ist einfach umständlich. Dann müsste ich immer die Vorlage bei der Hand haben. Überigens hat sich bei dir schon ein Fehler eingeschlichen. 7 - 8 = 59 nicht 1 (bei den Millisekunden).

Genau deswegen möchte ich dass Excel das macht. Excel macht es ja auch gut. Nur - und hier meine Ausgangsfrage - wenn bei den Hundertstel eine Null am Anfang steht glaubt Excel dass es Text ist, ansonsten alles paletti (wenn man von der Sekunden-Genauigkeit absieht).

Wieso glaubt Excel dass das Text ist ? Keine Ahnung.

Danke jedenfalls.
bg
bb


----------



## Larry Laffer (18 Mai 2012)

Hallo bb,
Excel glaubt das, weil es das immer so macht wenn es das Format nicht identifizieren kann. Uhrzeit ist für Excel "hh:mm:ss" - alles andere kennt es nicht.
Unabhängig von dem Vorschlag von Nutellahase würde ich aber (wie schon erwähnt) zu einer Function tendieren - etwas anderes wird wohl nicht gehen (außer die Berechnung kommt schon aus der SPS in die Tabelle.

Gruß
Larry


----------



## nutellahase (18 Mai 2012)

Hmm ok dann hätte ich noch was gefunden...
Da ich nicht weiß ob du das bereits schon getan hast, hier mal ein weiterer Lösungsansatz (allerdings kommst du ohne Hilfstabellen bei *reiner *Excel Lösung nicht drumherum!):

Ich nehme mal an die Millisekunden werden durch einen Punkt getrennt also so 
	
	



```
hh:mm:ss[COLOR=#ff0000][B].[/B][/COLOR]ms ms ms
```

Wenn es durch ein Komma getrennt wäre, würde es funktionieren! Also in diesem Format: 
	
	



```
hh:mm:ss[B][COLOR=#ff0000],[/COLOR][/B]ms ms ms
```

Hierzu musst du ein benutzerdefiniertes Format anlegen hh:mm:ss,000 => Excel kann scheinbar nur mit Komma rechnen:




In Spalte A ersetzt du den Punkt durch ein Komma.
In Spalte B errechnest du dir die Differenz und wandelst sie ins Format hh:mm:ss,000
In Spalte C ersetzt du das Komma durch den Punkt! (falls nötig)

Wieso kann man eigentlich keine Excel Dateien hochladen oder bin ich nur zu blöd dazu??


----------



## bits'bytes (22 Mai 2012)

Hallo,

danke für den Versuch, der Screenshot sieht gut aus. Bei mir stellt sich leider Excel total blöd an.

Sobald ich die Zwischenablage einfüge, wird sofort alles was nach hh:mm ist sofort verschmissen. Das anfängliche Problem besteht, d.h beim einfügen habe ich dann Teile als Datum/Uhrzeit, andere wieder als Text.

Also, ich habe keine Lust mehr - kann man vergessen.

bg
bb

PS: Excel ist offensichtlich gesperrt, eh kein Wunder bei dem Risiko-Level den diese Dateien für die Gesundheit der Nutzer darstellen.


----------



## Larry Laffer (22 Mai 2012)

... darf ich mal fragen, von wo diese Zahlen kommen und warum du die gewünschte Differenz nicht dort ermittelst ?

Gruß
Larry


----------



## bits'bytes (22 Mai 2012)

Hallo Larry,

da gibts ein Programm "PLTrend", das macht das eben momentan nicht. Wäre aber eine Überlegung Wert..... 

bg
bb


----------

