Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Excel - formuła, ewidencja czasu pracy

L1siwo 10 Kwi 2013 23:47 3318 8
  • #1 10 Kwi 2013 23:47
    L1siwo
    Poziom 7  

    Witam!
    Wiem, że jest tego dużo tutaj ale naprawde nie rozumiem co i jak..... sprawa mi to naprawde duży problem, Wiec prosze o pomoc w rozwiazaniu i podania dokladnej formuly, przysylam w zalaczniku obrazek. Potrzebuje Total hours zeby automatycznie sie zmieniały po wpisaniu innych godzin od sun - sat.
    Dziekuje wszystkim
    pozdrawiam

    Excel - formuła, ewidencja czasu pracy

    0 8
  • #2 11 Kwi 2013 00:09
    dt1
    Moderator - Komputery Serwis

    Tyle że od sun do sat jest wpisywane wszystko, ale nie godziny (godzina ma z założenia format XX:XX). Tak więc wpisujesz tam
    1) zakresy
    2) czasem dwa zakresy na dzień
    3) dodatkowe oznaczenia (jakaś literka T)

    To nie są dane, które Excel łatwo obrobi. Gdybyś ujednolicił w jakiś sposób te wpisy byłoby prościej na pewno. Jeśli założymy, że dodatki typu literka T należy ignorować, a przedział jest zawsze jeden (od biedy jeden albo dwa, nie więcej), ostatecznie nie ma go wcale (puste pole) - to można próbować jakąś mniej lub bardziej skomplikowaną formułę tworzyć.

    0
  • #3 11 Kwi 2013 00:39
    L1siwo
    Poziom 7  

    chyba rozumiem o co chodzi
    "T" tutaj nie wchodzi w gre ponieważ to jest tylko oznaczenie że chlopak jest Trenowany.
    czy jest jakos mozliwosc przeliczenia ze puste pole to nic a np pon od 12-5 jest to 5 godzin , a wt np. od 17-23 to jest 6h i wszystko zlicze w ostatniej kolumnie total hours, i przy zmianie excel automatycznie zmieni mi ilosc godzin. Chodzi mi czy excel moze policzyc laczny zakres godzin ktory jest podany w grafiku?

    0
  • #4 11 Kwi 2013 01:11
    dt1
    Moderator - Komputery Serwis

    Dla excela jest to tekst (ciąg znaków). My widzimy, gdzie jest dwukropek i wiemy, że on rozdziela minuty od godzin, ale w przypadku takiego ciągu Excel tego nie wie.

    Jednym ze sposobów może być napisanie funkcji, która będzie taki ciąg znaków analizowała pod kątem występowania godzin od/do. Specjalistą od makr nie jestem, ale coś takiego dla mnie działa (tylko nie wiem, ile popełniłem błędów pisząc taką funkcję, na pewno będzie coś do poprawki).

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    Funkcję taką należy umieścić w edytorze VBA Excela i można się do niej odwoływać z arkusza. Funkcja jest dość "tępa", gdyż napisanie jej tak, aby wykluczała wszystkie błędy to trochę dłuższa historia. Tak więc należy założyć, że będziesz wpisywał "poprawne" z punktu widzenia funkcji dane do arkusza. Funkcja ignoruje wszelkie literki, więc można sobie je dopisywać przy godzinach w jakikolwiek sposób. Funkcja rozpoznaje godziny w formacie 24 godzinnym (więc jak napiszesz od 12 do 5, to źle zadziała). Funkcja akceptuje jeden z trzech formatów komórki:
    - brak danych (pusty wpis, albo ogólnie wpis bez godzin)
    - wpis z jednym przedziałem od - do (dwie wartości godzinowe)
    - wpis z dwoma przedziałami od - do (cztery wartości godzinowe)
    Godziny i minuty muszą być oddzielone dwukropkiem. Jeśli będą w komórce podane trzy wartości godzinowe (tzn niepełny zakres) to cała funkcja da wynik zero. Przy pięciu wartościach i więcej prawdopodobnie zwróci błąd i się wysypie, chociaż zmieniając pewne moje założenia dałoby się taką funkcję rozszerzyć o dużo więcej przedziałów :)

    W załączniku przykład. Możesz na jego podstawie zbudować swój arkusz (być może wcześniej poprawiając coś, jeśli będą błędy). Aby się uruchomił poprawnie i działał musisz zezwolić excelowi na uruchomienie makr.

    0
  • #5 11 Kwi 2013 01:30
    L1siwo
    Poziom 7  

    WoW, widze ze naprawde sie postarales i za to dziekuje,
    a czy jest jakas mozliwosc zebys mi to wszystko napisal w excelu ja bym ci wyslal plik zeby to mialo rece i nogi. Dla mnie ta formula to dramat staram sie pisac z jezli ale nie wychodzi jestem naprwde tepy z tego ^^, bo np te dwa 15-17 18-19 to poporostu 17-18 jest przerwa. oczywiscie bede probowal to co napisales bo lubie dazyc zeby to osiagnac zeby sam sie nauczyc, tylko tutaj poporstu nie mam czasu na swoje metody prob i bledow,
    Tak naprawde jestes wielki

    0
  • #6 11 Kwi 2013 01:44
    dt1
    Moderator - Komputery Serwis

    Jest taka możliwość, przecież już napisałem - było w załączniku. To co teraz trzeba zrobić to skopiuj-wklej na dobrą sprawę. Z formułą nie ma żadnego dramatu - dramat byłby, gdybyś chciał to liczyć standardowymi funkcjami Excela. Przy zastosowaniu funkcji, którą dla Ciebie napisałem stosowanie JEŻELI jest już zbędne (wszystkie linijki mojego kodu zaczynające się od "IF" robią JEŻELI).
    15-17 18-19 nie zostanie zaakceptowane, możesz napisać w dowolny ze sposobów:
    15:00-17:00 18:00-19:00
    15:00 - 17:00 18:00 - 19:00
    15:00-17:00 i 18:00-19:00

    Czy jakkolwiek inaczej chcesz, bo moja funkcja i tak ignoruje wszystko, co nie wygląda jak godzina. Godziny muszą być od siebie rozdzielone, a czy to jest spacja, kropka, średnik czy cokolwiek - nie ma to znaczenia.

    Spróbuj przeanalizować to, co Ci dałem w moim przykładzie. Przykładowo w A3 jest wpis: =LiczH(A2), co oznacza, że w A3 powinien się pojawić wynik będący liczbą godzin w przedziale (bądź sumą dwóch przedziałów). W H2 masz sumę ze wszystkich dni, czyli formułę: =LiczH(A2)+LiczH(B2)+LiczH(C2)+LiczH(D2)+LiczH(E2)+LiczH(F2)+LiczH(G2) - to powinno być łatwe do rozszyfrowania - liczy godziny w A2, do tego dodaje godziny z B2, C2, ... aż do G2. Żadnych jeżeli, tylko proste zsumowanie moich funkcji. Nie powinieneś mieć problemu z rozpisaniem tego w swoim arkuszu.

    0
  • #7 11 Kwi 2013 02:17
    L1siwo
    Poziom 7  

    Ok. Dzieki wielkie za pomoc bede z tym kombinowac.
    !! Milego !

    0
  • #8 12 Kwi 2013 01:30
    L1siwo
    Poziom 7  

    Dzieki!! wszystko działa aż nie moge w to uwierzyc :) pozdro ! :D!!

    0
  • #9 12 Kwi 2013 02:15
    dt1
    Moderator - Komputery Serwis

    Widzisz, nie było takie trudne pewnie. Samo pisanie funkcji nie jest może aż tak łatwe, ale późniejsze użytkowanie nie powinno być problemem. Daj znać, jeśli zauważysz błędy jakieś - nie sprawdzałem zbyt długo, czy działa to dobrze :)

    0