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.

Fehler bei TEIL von Uhrzeiten
#1
Hallo,

in einer Zelle wird die Uhrzeit angegeben: Entweder eine konktete Uhrzeit (z.B. 20:00 Uhr) oder ein Zeitraum (z.B. 20:00-22:00 Uhr).

Mit folgender Formel soll in einer anderen, im Falle eines angegebenen Zeitraums immer die letzte Uhrzeit angezeigt werden, im Fall einer konkreten Uhrzeit soll sie nur die Uhrzeit kopieren:
Code:
=WENN(ISTLEER('#1-4'!B10);" ";WENN(LÄNGE('#1-4'!B10)>6;TEIL('#1-4'!B10;7;50);'#1-4'!B10))

Nun habe ich das mit verschiedenen Uhrzeiten getestet und seltsamerweise funktioniert die Formel bei manchen konkreten Uhrzeiten, bei anderen konkreten Uhrzeiten aber nicht.
Im Screenshot sieht man, dass z.B. "12:00" (Uhr) angezeigt wird, bei "13:00" zeigt er aber einen Wert von "66666666667" an.
Die Formatierung ist in allen Feldern gleich (Benutzerdefiniert = hh:mm)

Hat vielleicht jemand eine Idee, woran das liegen könnte?

Viele Grüße
TxM


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#2
Moin

LÄNGE()>6 ist immer WAHR. Kann man sehr leicht rausfinden.
Code:
=WENN(ISTZAHL('#1-4'!B10);'#1-4'!B10;--TEIL('#1-4'!B10;7;99))
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#3
Zitat:LÄNGE()>6 ist immer WAHR
Dem möchte ich um 03:00, 06:00, 09:00 und 12:00 Uhr widersprechen. Am Nachmittag dann auch noch ein paar mal.
Schöne Grüße
Berni
Antworten Top
#4
Einspruch akzeptiert.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#5
Guten morgen,

danke für eure Antworten.
Leider verstehe ich sie nicht. Huh 

Könnt ihr mir erklären, wie ihr das meint?
LÄNGE()>6 soll bewirken, dass wenn mehr als 6 Zeichen im Feld stehen, dass dann TEIL verwendet wird.

Viele Grüße
TxM
Antworten Top
#6
Moin!
Dir ist hoffentlich klar, dass 4:00 die Länge 17 hat?
(Rechengenauigkeit von 15 Stellen plus Null plus Komma)
Lies Dir mal High Noon durch (also Länge 3 bei 12:00):
https://www.online-excel.de/excel//singsel.php?f=129

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#7
Sorry aber dafür bin anscheinend zu blöd, ich verstehe es immer noch nicht. Huh
Das heißt, ich muss die Zelle, in der die Uhrzeit steht, anders formatieren, damit die Uhrzeit nicht mit Nachkommastellen gerechnet wird?

Oder gibt es eine andere Möglichkeit als meine im ersten Post gepostete Formel, um die Uhrzeit, wenn ein Zeitraum angegeben wird, auf die letzte Uhrzeit zu kürzen?

Edit:
Anscheinend funktioniert die Formel, wenn ich das Feld Uhrzeit als Kategorie Text formatiere.
Ich denke, so werde ich es machen.
Antworten Top
#8
Hast Du den Link durchgelesen?
Eine (echte) Uhrzeit ist eine Dezimalzahl.
4:00 Uhr entspricht 4/24 ► 1/6 ► 0,166666666666667 also der Länge 17

Du hast (unerheblich vom Zahlenformat)
einen Text 12:00-18:00
oder eine Zahl (keine Uhrzeit!) 04:00
in der Zelle stehen.

Du könntest die Zellen vorher als Text formatieren, dann klappt auch Dein TEIL()

Oder Du nimmst gleich die Formel von Shift-del, die einwandfrei funktionieren dürfte.

Und vielleicht noch besser zur Erklärung, warum die Länge nix mit dem Zahlenformat zu tun hat:
Formatiere eine Zelle mit #.##0,00 €
1.234,00 € hat dennoch die Länge 4:
LM
11.234,00 €4
Formeln der Tabelle
ZelleFormel
M1=LÄNGE(L1)
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#9
Es ist keine gute Idee, einen Zeitraum in einer Zelle darzustellen.

Wenn Du zwei Zellen spendiert, z. B. Startzeit und Ende, dann schreibst Du eine einzelne Uhrzeit nur ins Ende, und wenn Startzeit gefüllt ist, dann hast Du halt einen Zeitraum.

Gültigkeitsprüfungen werden dann auch erheblich einfacher.
Antworten Top
#10
Hallöchen,

Arbeitsblatt mit dem Namen 'Tabelle1'
AB
113:0013:00
213:00-14:0014:00
ZelleFormatWert
A1hh:mm0,541666666666667
B1hh:mm0,541666666666667
B2hh:mm0,583333333333333
ZelleFormel
B1=WENN(ISTZAHL(A1);A1;--TEIL(A1;7;99))
B2=WENN(ISTZAHL(A2);A2;--TEIL(A2;7;99))
Verwendete Systemkomponenten: [Windows (64-bit) NT 10.00] / MS Excel 2019
Diese Tabelle wurde mit Tab2Html (v2.7.1) erstellt. ©Gerd alias Bamberg
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


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