2017-05-30 2 views
0

Ich habe eine vorhandene Mitarbeiterzeitplan Excel-Datei, die ich gerne "smarter."Mitarbeiterzeitplan - Berechnen Sie die Gesamtstunden von der Zeit in 1 Zelle; Autoformat Zeit

Für jeden Mitarbeiter wird die Zeit in einer Zelle (z. B. 7 AM-3 PM) für jeden Tag der Woche eingegeben. Ich möchte die Gesamtstunden für jeden Mitarbeiter am Ende der Woche berechnet haben. Ich habe eine Formel, die das tut, aber es bringt zusätzliche Probleme mit sich.

=((SUBSTITUTE(B4,LEFT(B4,FIND("-",B4)+1),"")*1-SUBSTITUTE(B4,RIGHT(B4,FIND("-",B4)-1),"")*1)+(SUBSTITUTE(B4,LEFT(B4,FIND("-",B4)+1),"")*1<SUBSTITUTE(B4,RIGHT(B4,FIND("-",B4)-1),"")*1))*24 

Hier wird die Zeit in der Zelle B4 eingegeben und diese Formel wird in der Zelle eingefügt, die Sie möchten die Gesamtstunden haben zu berechnen.

In dieser Formel muss die Zeit im Format "XX: XX AM - XX: XX PM" eingegeben werden, andernfalls funktioniert es nicht. Auch wenn eine Zelle leer ist oder OFF sagt, funktioniert es auch nicht. Was ich also möchte, ist die automatische Umwandlung von Zeiten, die in einer Zelle als "7 AM - 3 PM" in das Format "7:00 AM - 3:00 PM" eingegeben wurden.

Wenn ein Zellenwert leer ist oder OFF lautet, berücksichtigt er den Wert der Zelle als "00:00 AM - 00:00 AM", wird jedoch weiterhin als leer/OFF angezeigt.

Die Art und Weise, wie ich die Gesamtstunden für die Woche berechne, fasst die obige Formel für jeden Tag zusammen (sie wird sehr lang und ich bin mir nicht sicher, ob dies der beste Weg ist).

Jede Hilfe für dieses würde geschätzt werden.

+1

wirklich „intelligente“ würde bedeuten, die Daten in zwei Zellen Parsen. – pnuts

Antwort

1

Dies wird Ihren Eintrag nehmen und tun, was Sie wollen:

=IFERROR(TRIM(SUBSTITUTE(SUBSTITUTE(MID(A1,FIND("-",A1)+1,LEN(A1)),"AM"," AM"),"PM"," PM")) -TRIM(SUBSTITUTE(SUBSTITUTE(LEFT(A1,FIND("-",A1)-1),"AM"," AM"),"PM"," PM")),0) 

[1]: https://i.stack.imgur.com/A3i

Verwandte Themen