Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1412to1416
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

Zelle auslesen, ob Uhrzeit in 1/4 h Takt

Zelle auslesen, ob Uhrzeit in 1/4 h Takt
07.03.2015 21:12:29
Volker
Hi,
ich nähere mich meinem Ziel, scheitere jedoch noch an einer für mich wichtigen Sache:
Zur Grundstruktur:
Ich erfasse z.B. in Spalte A eine Anfangszeit, in Spalte B die Beendigungszeit eines Zeiraums. Die Dauer ermittle ich normal in der Form (B-a)* 24. Soweit so gut. Ich erhalte dann z.B. in C eine Dezimalzahl.
Ich möchte mir an andere Stelle in Form einer bedingten Formatierung anzeigen lassen, ob die Kriterien, dass nur Zeiträume im 1/4 Stundentakt einzugeben sind, erfüllt wird.
Also Zeit von 9:00 bis 9:15 ok und Zeiten wie 9:16 nicht in Ordnung. In Form einer klassischen Datenprüfung kann ich das nicht gebrauchen, da die erfassten Zeiten an anderer Stelle minutengenau ausgewertet werden sollen.
Ich habe versucht dies mit einer WENN-ODER Regelung zu filtern, wobei ich als Wahre Kriterien aus der Dezimalzahl aus der Spalte C mit Hilfe der Funktion RECHTS die beiden letzen Ziffern filtern wollte, also 25, 50,75 und die 00. Dies hat für mich zu frustrierenden Ergebnissen geführt, weil er mir teilweise die Werte richtig angezeigt hatte und teilweise nicht.
Falls dies mit dieser Methode doch funktionieren sollte, wäre ich für die korrekte Formel dankbar, wobei ich nicht weiß, wo der Hase begraben ist.
Dann habe ich versucht, dies über mathematische Vergleichsrechnung umzusetzen. Leider wieder erfolglos.
Ich bin davon ausgegangen, dass auf Grundlage der Tatsache, dass pro Tag 96 Einheiten je 1/4 h zur Verfügung stehen, Dies funktioniert überwiegend, leider aber auch nicht 100%ig, da bei manchen Zwischenzahlen die gleichen Vergleichsergebnisse rauskommen.
Aber hier fehlt mir der mathematische Tiefgrund.
Hier mein Rechenbeispiel:
WENN((96-((B1-A1)*24*4))=(96-I1);1;0)
Hoffe auf eine vieleicht doch einfache Lösung.
Besten Dank und schönen Samstag Abend.
Volker

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelle auslesen, ob Uhrzeit in 1/4 h Takt
07.03.2015 22:32:07
Volker
Habe die Lösung gefunden.
Hoffe, es hat sich noch keiner Arbeit gemacht.
Ich runde in der Kontrollrechnung zunächst die Zeit bevor ich auf Dezimal umstelle. Dann sind die Ergebnisse soweit auseinander, dass auch beim späteren Runden nixt passiert und die Zeiten eindeutig unterschiedlich sind.
Besten Dank und LG
Volker

AW: Zelle auslesen, ob Uhrzeit in 1/4 h Takt
08.03.2015 04:59:42
Klexy
Es geht einfacher, und zwar mit der "Gültigkeit". Das ist im Reiter Daten / Datenprüfung
Markier die Zelle, in der du nur viertelstündliche Eingabe zulassen willst (im Beispiel A2)
Wähl im Feld "Zulassen" den Punkt "Benutzerdefiniert"
Trag folgende Formel ein: =REST(A2;0,0104166666666667)>0,01
Mit dem Formatpinsel kannst du diese Gültigkeitsvorgabe auf andere Zellen übertragen.
Hintergrund:
Excel rechnet Tage als ganze Zahlen, beginnend mit dem 01.01.1900 (Tag 1)
Der 07.03.2015 ist demzufolge der Tag 42070.
42070,333333333333 ist demzufolge 07.03.2015 08:00:00.
Eine Viertelstunde ist ein 96stel eines Tages, also 1/96 = 0,0104166666666667

Anzeige
AW: Zelle auslesen, ob Uhrzeit in 1/4 h Takt
08.03.2015 09:16:37
Volker
Guten Morgen,
vielen Dank für die Antwort und Mühe!
Wäre die perfekte Lösung, aber ich brauche für eine andere Auswertung der gleichen Daten die minutengenaue Erfassung. Wäre mir auch lieber, dies über die Datenprüfung zu regeln, da dann definitiv Eingabefehler ausgeschlossen wären. Ich habe dies jetzt über eine optische Prüfung erledigt. Vor der Tabelle habe ich eine Spalte eingefügt, in der mit Hilfe der Symbole (grünes Häkchen, rotes Kreuz) der bedingten Formatierung angezeit wird, ob alle Daten gültig sind oder nicht. Nicht der Königsweg und schützt nicht vor Fehleingaben, aber es weist die eingebende Person auf Fehler hin und Fehler können bei späteren Kontrollen schnell gefunden werden.
In diesem Sinne nochmal Danke und einen sonnigen Sonntag.
Volker

Anzeige
AW: Zelle auslesen, ob Uhrzeit in 1/4 h Takt
09.03.2015 08:53:06
Klexy
Die Formel ist die gleiche. Aber warum soll etwas minutengenau ausgewertet werden, wenn es nicht minutengenau erfasst werden darf? Da ist es doch einfacher, gleich von vornherein eine andere als korrekte Eingabe zu verhindern. Und zwar praktisch und nicht nur optisch.

AW: Zelle auslesen, ob Uhrzeit in 1/4 h Takt
09.03.2015 22:41:41
Volker
Hi,
ich glaube, ich habe die Lösung jetzt, auch dank Erich.
Die Zeiten die erfasst werden, werden zum einen für eine minutengenaue Auswertung, zum einen intern und zum anderen auch zur Dokumentation des Auftraggebers erfasst und berechnet werden. Auf der anderen Seite wird in einer separaten Auswertung zwingend als Vorgabe in der Dokumentation und Abrechnung der Viertelstundentakt verlangt., so dass ich beide Informationen aus dem gleichen Daten herauslesen möchte und muss. DEshalb brauche ich Kontrollinstrument, was anzeigt, wenn diese Vorgabe nicht erfüllt ist. In diesem Fall kann dann individuell geschaut werden, ob die Eingabe richtig oder fehlerhaft ist.
LG aus MG
Volker

Anzeige
AW: Zelle auslesen - BIN DOCH ZU BLÖD
08.03.2015 12:25:15
Volker
Hi Zusammen,
nachdem ich großspurig den eigenen Erfolg vermeldet habe, muss ich mich doch wieder kleinlaut an Euch wenden:
Wie ich schon geschrieben habe, habe ich versucht mein Problem zu lösen, dass ich mit zwei verschiedenen Rechnungswesen einen Vergleich herzustellen und durch RUNDEN versucht Unterschiede zu provozieren, die dann als solche beim Vergleich der beiden Rechnungswege auffällt, somit durch eine WENN-Formel ausgewertet und schlussendlich mit einer bedingten Formatierung sichtbar gemacht werden soll.
Konkrekt habe ich:
Spalte B , in der soll das Prüfergebnis (ob es sich um 15 min Zeiräume handelt,ausgewiesen werden
Spalte D: , in der wird die Startzeit eingegeben
Spalte E: , in der wird das Ende des Zeitraumes eingegeben
Die für die Berechnung zugrunde liegende Formel lautet:
WENN(F19"";WENN(F19="d";WENN((E19-D19)*24/0,25=(RUNDEN((E19-D19)*96;0)/96)/0,25*24;100;10);1);"")
Für die Sichtbarkeit der bedingten Formatierung habe ich mit den Zahlen 1 = wird nicht angezeigt, 10 = Bedingung nicht erfüllt und 100 = Bedingung erfüllt gearbeitet.
Funktioniert soweit eigentlich gut, aber bei Probeläufen wird z.B. der Zeitraum von 19:00 bis 19:15 nicht als erfüllte Bedingung für den Viertelstundentakt angezeigt.
Ich verzweifle und mir läuft die Zeit weg. Hoffe, dass dies für Euch ne Kleinigkeit ist. Ich seh - abgesehen von nur dürftigen Kenntnissen - den Wald vor lauter Bäumen nicht mehr.
Bitte, bitte, bitte! Und vor allem Danke, danke, danke!
Volker
Zur Verdeutlichung hier ein screen:
Userbild

Anzeige
Dezimalzahlen sind ungenau
08.03.2015 17:37:38
Erich
Hi Volker,
dich trifft hier die Tatsache, dass sich nur wenige Dezimalzahlen in einem endlichen Computer genau darstellen lassen.
(Intern geschieht das ja auch im Binärsystem.)
Auch wenn zwei Zahlen gleich aussehen, können sie sich an der 15. oder 16. Stelle unterscheiden.
Schau dir das mal an:
 BCDEFGHI
1910 19:00:00,00019:15:00,000d1,000000000000010001,000000000000000007,10543E-15
2010 19:00:00,00019:15:00,000d   
2110 19:00:00,00019:15:00,000d   
2210 19:00:00,00019:15:00,000d   
2310 19:00:00,00019:15:00,000d1,000000000000010001,000000000000000007,10543E-15
24        
25100 19:00:00,00019:15:00,000d1,000000000000000001,000000000000000000
2610 19:00:00,00019:15:00,001d1,000001110000000001,000000000000000001,11E-06
2710 19:00:00,00019:14:59,999d0,999998890000000001,00000000000000000-1,11E-06

Formeln der Tabelle
ZelleFormel
B19=WENN(F19<>"";WENN(F19="d";WENN((E19-D19)*24/0,25=(RUNDEN((E19-D19)*96;0)/96)/0,25*24;100;10); 1); "")
G19=(E19-D19)*96
H19=(RUNDEN((E19-D19)*96;0)/96)/0,25*24
I19=G19-H19
B20=WENN(F20<>"";WENN(F20="d";WENN((E20-D20)*24/0,25=(RUNDEN((E20-D20)*96;0)/96)*96;100;10); 1); "")
B21=WENN(F21<>"";WENN(F21="d";WENN((E21-D21)*24/0,25=RUNDEN((E21-D21)*96;0)/96*96;100;10); 1); "")
B22=WENN(F22<>"";WENN(F22="d";WENN((E22-D22)*24/0,25=RUNDEN((E22-D22)*96;0); 100;10); 1); "")
B23=WENN(F23<>"";WENN(F23="d";WENN((E23-D23)*96=RUNDEN((E23-D23)*96;0); 100;10); 1); "")
G23=(E23-D23)*96
H23=RUNDEN((E23-D23)*96;0)
I23=G23-H23
B25=WENN(F25<>"";WENN(F25="d";WENN(RUNDEN((E25-D25)*96;8)=RUNDEN((E25-D25)*96;0); 100;10); 1); "")
G25=RUNDEN((E25-D25)*96;8)
H25=(RUNDEN((E25-D25)*96;0)/96)/0,25*24
I25=G25-H25


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
In den Zeilen 19:23 habe ich deine Formel zunächst etwas vereinfacht, aber noch nicht korrigiert.
In I19 und I23 sieht man die Fast-0-Differenz.
In B25 steht mein Vorschlag. Hilft dir das?
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: Dezimalzahlen sind ungenau
09.03.2015 22:36:54
Volker
Hallo Erich,
lieben Dank für Deine ausführliche Darstellung. Ich muss leider neidlos anerkennen, dass ich in Mathe doch ein paar Defizite habe, oder umgekehrt, dass es Menschen wie Dich gibt, die einfach verstehen, um was es geht.
Sieht ja doch etwas logischer aus, als das, was ich fabriziert hatte und werde Deine Variante mal probieren. Derzeit teste ich gerade die letzte Anpassung von mir, scheint mir doch geglückt zu sein, allerdings über einen laienhaften Umweg. Ich habe die Dezimalzahl, die bei der Dauer ausgewertet wird, auf die beiden Ziffern nach dem Komma geprüft. Hier muss für ein Viertelstunden-Ergebnis ja zwingend 00, 25, 50 oder 75 herauskommen. Ursprünglich hatte dies nicht geklappt, da Exel ja die Daten noch mitschleppt. Also habe ich zunächst über die Funktion TEXt die Dezimalzahl in Text umgewandelt und mit HIlfe von RECHTS ausgelsen. Bisher läuft es problemlos. Aber gut, so weit war ich ja vorher schonmal.
Jetzt habe ich nur ein letztes Problem (zumindest was Exel und das Projekt anbelangt). Ich möchte gerne die freien Zellen, in denen Eingaben durch verschiedene Personen erfolgen, schützen und zwar so, dass beim Speichern die in dem Eingabebereich vorhandenen Zellen gesperrt werden. Hierzu hatte ich ein script gefunden und als neue Frage gepostet. Vielleicht hast Du hierzu eine Idee, mir fehlen leider die Grundlagen, wie ich das Ding zum laufen bekomme.
In diesem Sinne liebe Grüße aus MG
Volker
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige