[SOLVED] Raport godzinowy z pracy (obliczanie czasu pracy)

Użytkowanie arkusza kalkulacyjnego
Awatar użytkownika
mitek
Posty: 69
Rejestracja: czw lip 15, 2010 11:52 pm

[SOLVED] Raport godzinowy z pracy (obliczanie czasu pracy)

Post autor: mitek »

Dzień dobry.

Mam z rejestratora czasu pracy takie dane:

Czas Teminal Pracownik
2021-01-04 06:56:53 Terminal1 T Kaczorowski
2021-01-04 15:01:17 Terminal1 T Kaczorowski
2021-01-05 07:02:25 Terminal1 T Kaczorowski
2021-01-05 15:02:40 Terminal1 T Kaczorowski
2021-01-07 07:02:28 Terminal1 T Kaczorowski
2021-01-07 15:06:35 Terminal1 T Kaczorowski
2021-01-08 07:00:48 Terminal1 T Kaczorowski
2021-01-09 06:57:47 Terminal1 T Kaczorowski
2021-01-12 07:05:55 Terminal1 T Kaczorowski
2021-01-12 15:02:51 Terminal1 T Kaczorowski
2021-01-13 07:05:03 Terminal1 T Kaczorowski
2021-01-13 08:00:37 Terminal1 T Kaczorowski
2021-01-13 15:17:14 Terminal1 T Kaczorowski
2021-01-19 07:00:53 Terminal1 T Kaczorowski
2021-01-19 15:02:38 Terminal1 T Kaczorowski
2021-01-20 07:00:17 Terminal1 T Kaczorowski

Czas pracy mogę łatwo policzyć w następujący sposób:
=((A3-A2))*24

Jednak problem się pojawia gdy ktoś odbije kartę trzy razy... i np z jednego dnia mam trzy wpisy w tabeli. np:

2021-01-13 07:05:03 Terminal1 T Kaczorowski
2021-01-13 08:00:37 Terminal1 T Kaczorowski
2021-01-13 15:17:14 Terminal1 T Kaczorowski

albo ktoś zapomni odbić kartę po wyjściu i tabela się burzy ...

Jak mogę to ogarnąć bo bez względu na ilość wpisów zawsze był brany pierwszy i ostatni z danego dnia... ?
Ostatnio zmieniony sob lut 20, 2021 9:20 am przez mitek, łącznie zmieniany 1 raz.
LibreOffice 6.1.2.1 na Windows 10
Awatar użytkownika
Jermor
Posty: 2255
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Raport godzinowy z pracy (obliczanie czasu pracy)

Post autor: Jermor »

Jeśli rzeczywiście korzystasz z Apache OpenOffice to rozwiązanie wymaga zastosowania formuł macierzowych, czyli takich, które zatwierdzane są skrótem klawiaturowym CTRL+SHIFT+ENTER. Uwaga: takich formuł nie można kopiować przez zwykłe przeciągnięcie prawego dolnego rogu komórki. Trzeba to robić trzymając przyciśnięty w tym czasie klawisz CTRL, albo skorzystać z polecenia "Kopiuj i wklej".
Jeśli korzystasz z LibreOffice to są do wykorzystania wbudowane funkcje. Ale tutaj mam wątpliwości, bo w stopce postu piszesz, że korzystasz z Windows XP a ostatnia wersja stabilna LibreOffice to 7.0.4 i dostępna jest od Windows7 (?) (O współpracy LibreOffice z Windows XP zasięgnij informacji u @Rafkus. On chyba ciągle używa XP i LibreOffice).
Ponadto ta najnowsza wersja zapisuje swoje pliki w nowszym standardzie, ODF 1.3 podczas gdy najnowszy Apache OpenOffice w wersji 4.1.9, zapisuje pliki w standardzie ODF 1.2 Extended. Tu więc rodzi się pytanie, czy nie przejść już na LIbreOffice.
Zaproponowałem taki sposób liczenia: Obliczenie czasu dokonywane jest tylko w wierszu, w którym data jest różna od daty w wierszu poprzedzającym. Obliczenie polega na obliczeniu różnicy między wartością maksymalną godziny dla daty w znajdującej się w tym wierszu a wartością minimalną godziny dla tej samej daty znalezionych w kolumnie godzin. Ten sposób zakłada, że nie ma nocnych zmian, tzn. nikt nie kończy pracy po północy.
Przykładowy plik przygotowałem właśnie w wersji LibreOffice i zapisałem go w formacie ODF 1.2 Extended dla zachowania zgodności.
W wersji LibreOffice dostępne są funkcje MAKS.WARUNKÓW() i MIN.WARUNKÓW() pozwalające wyliczyć odpowiednie wartości z wyselekcjonowanych danych.
W Apache OpenOffice zastosowałem formułę w postaci

Kod: Zaznacz cały

=JEŻELI(A2=A1;"";MAKS(JEŻELI($A$2:$A$17=A2;$B$2:$B$17;""))-MIN(JEŻELI($A$2:$A$17=A2;$B$2:$B$17;"")))
zatwierdzaną, jak już napisałem, CTRL+SHIFT+ENTER.
W LibreOffice:

Kod: Zaznacz cały

=JEŻELI(A2=A1;"";MAKS.WARUNKÓW($B$2:$B$17;$A$2:$A$17;A2)-MIN.WARUNKÓW($B$2:$B$17;$A$2:$A$17;A2))
jako zwykłą formułę.
A2:A17 zawiera daty odbicia karty
B2:B17 zawiera godziny odbicia karty
Załączniki
mitek1.2.ods
(19.16 KiB) Pobrany 142 razy
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
Awatar użytkownika
Rafkus
Posty: 516
Rejestracja: czw kwie 12, 2018 10:26 pm

Re: Raport godzinowy z pracy (obliczanie czasu pracy)

Post autor: Rafkus »

Jermor pisze:(O współpracy LibreOffice z Windows XP zasięgnij informacji u @Rafkus. On chyba ciągle używa XP i LibreOffice).
O tuż UŻYWAŁEM w pracy Libre (poprawiłem podpis) na Windows XP, ale starszą wersję 4.2.5.2 gdyż nowe wersje LO nie instalują się na wcześniejszych wersjach windowsa. Znaleziona wersja niestety nie posiada nowszych funkcji w Calcu (np.: JEŻELI.BŁĄD). Dostrzeżone przeze mnie różnice w działaniu były minimalne, znacznie większe w wyglądzie - z tego powodu mam obecnie problemy, żeby całkowicie przejść na LO (zwłaszcza w Writer)
LibreOffice 7.4.6 (preferowany) oraz OpenOffice 4.1.6. Widows 10
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
Awatar użytkownika
mitek
Posty: 69
Rejestracja: czw lip 15, 2010 11:52 pm

Re: Raport godzinowy z pracy (obliczanie czasu pracy)

Post autor: mitek »

Dziękuje serdecznie :)
Tak podanego na tacy rozwiązania się nie spodziewałem.
Zaraz sprawdzam jeszcze dokładnie ale wychodzi na to że działa świetnie.

Musze poprawić stopkę bo to stary wpis obecnie mam nowego Windowska 10 i najnowszy LibreOffice.
LibreOffice 6.1.2.1 na Windows 10
ODPOWIEDZ