[SOLVED] Podział arkusz (danych) na strony z segregowanymi

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

[SOLVED] Podział arkusz (danych) na strony z segregowanymi

Post autor: mitek »

Potrzebuje podzielić dane z jednego arkusza na kilka arkuszy lub po prostu strony.
Mam tabele z rejestratora czasu pracy i dzięki waszej pomocy już przeliczam godziny i to działa świetnie :) Dziękuje.
Ale to wszystko działa dla jednej osoby a pracuje nas więcej...

Jak podzielić tabele która jest poniżej by "K Chmielowski" był na jednej stronie a "M Zakrzewski" na następnej... i by działa się to w miarę automatycznie gdyby np. doszedł pracownik

2021-02-01 06:59:53 Terminal1 K Chmielowski Wejście
2021-02-01 07:00:10 Terminal1 M Zakrzewski Wejście
2021-02-01 07:00:18 Terminal1 M Oczkowski Wejście
2021-02-01 07:00:20 Terminal1 P Walkowiak Wejście
2021-02-01 07:04:26 Terminal1 K Przeslica Wejście
2021-02-01 07:10:54 Terminal1 L Dobrianska Wejście
2021-02-01 15:59:56 Terminal1 P Walkowiak Wejście
2021-02-01 17:02:56 Terminal1 K Chmielowski Wejście
2021-02-01 17:03:01 Terminal1 L Dobrianska Wejście
2021-02-01 17:11:55 Terminal1 K Przeslica Wejście
2021-02-01 17:11:59 Terminal1 M Oczkowski Wejście
2021-02-01 17:12:03 Terminal1 M Zakrzewski Wejście
2021-02-02 07:00:35 Terminal1 K Chmielowski Wejście
2021-02-02 07:00:41 Terminal1 M Zakrzewski Wejście
2021-02-02 07:00:45 Terminal1 M Oczkowski Wejście
2021-02-02 07:01:23 Terminal1 M Oczkowski Wejście
2021-02-02 07:01:33 Terminal1 M Oczkowski Wejście
2021-02-02 07:07:39 Terminal1 L Dobrianska Wejście

A chciałbym mieść np. na jednej stronie (arkuszu) i tak dla kolejnych pracowników.

2021-02-01 17:11:59 Terminal1 M Oczkowski Wejście
2021-02-01 07:00:18 Terminal1 M Oczkowski Wejście
2021-02-02 07:00:45 Terminal1 M Oczkowski Wejście
2021-02-02 07:01:23 Terminal1 M Oczkowski Wejście
2021-02-02 07:01:33 Terminal1 M Oczkowski Wejście
Załączniki
RAPORT GODZINOWY.ods
Tak mi to udało się zrobić dla jednego pracownika
(61.31 KiB) Pobrany 116 razy
Ostatnio zmieniony ndz lut 21, 2021 9:48 pm przez mitek, łącznie zmieniany 1 raz.
LibreOffice 6.1.2.1 na Windows 10
Awatar użytkownika
Rafkus
Posty: 513
Rejestracja: czw kwie 12, 2018 10:26 pm

Re: Podział arkusz (danych) na strony z segregowanymi danymi

Post autor: Rafkus »

Ten cel można osiągnąć stosując tabele przestawne. Zobacz, czy taki sposób tobie by odpowiadał...
W arkuszu korzystam z dwóch tabel przestawnych:
Pierwsza ma za zadanie znaleźć w obrębie dnia dla konkretnego pracownika czas minimalny (rozpoczęcie zmiany) i maksymalny (zakończenie pracy) {- ciekawe co z 3 zmianą}. Obok niej formułami pobieram i przetwarzam dane dalej : m.inn. obliczam czas pracy (max-min), wyznaczam okres... Z tych danych tworzę kolejną tabelę - wyniki końcowe.
Ostatnio zmieniony ndz lut 21, 2021 11:13 pm przez Rafkus, łącznie zmieniany 1 raz.
Powód: Usunięcie pliku, poniżej nowa wersja
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: Podział arkusz (danych) na strony z segregowanymi danymi

Post autor: mitek »

Działa świetnie ale chyba za wielkie skróty zrobiłeś tak więc bym mógł coś zmienić musze jeszcze podpytać bo jednak musze mieć oddzielne listy tak by wykluczyć sytuacje gdy ktoś zapomni odpić karty np. na wejściu albo na wyjściu.

1) Jak rozdzieliłeś daty i godziny na oddzielne kolumny bo nie widzę formuły a raczej tego nie przepisywałeś :) ??
Doszedłem do tego że można to zrobić formatowaniem ale w komórce przed tekstem pojawia się znak ` czy po prostu go usunąłeś i rozciągnąłeś kolumny czy jakoś inaczej?
Jak rozdzieliłeś daty i godziny na oddzielne kolumny bo nie widzę formuły a raczej tego nie przepisywałeś :) ??
Jak rozdzieliłeś daty i godziny na oddzielne kolumny bo nie widzę formuły a raczej tego nie przepisywałeś :) ??
Jak pisałem ten post to jednak spor stało się jasne :)

Jednak pozostaje ostatni pomysł czy można zrobić tak by te tabele przestawne skopiować na kolejne arkusze i każdy arkusz (strona wydruku) by dostał nazwę pracownika oraz informacje dla konkretnego pracownika.
LibreOffice 6.1.2.1 na Windows 10
Awatar użytkownika
Jermor
Posty: 2238
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Podział arkusz (danych) na strony z segregowanymi danymi

Post autor: Jermor »

Jeśli chodzi o tabele przestawne, to nie można ich kopiować tak jak formuły. Musisz je utworzyć dla każdego pracownika. Najlepiej w tablicy @Rafkus-a dodać filtr, w którym wskażesz nazwisko a potem taka samą konstrukcję powtórzyć na każdym arkuszu. Ustalając w filtrze odpowiednie nazwisko otrzymasz dane dla pojedynczej osoby..
Gdy będziesz odświeżał dowolną tabelę przestawną, odświeżysz wszystkie tabele.

Jeśli chodzi o daty i godziny. Masz dwie funkcje: DATA.WARTOŚC() i CZAS.WARTOŚĆ(). Obie wymagają jako argumentu znakowego zapisu daty i czasu, tak jak masz to w swoich danych. Czyli DATA.WARTOŚĆ(A2) poda datę a CZAS.WARTOŚĆ(A2) czas.
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: 513
Rejestracja: czw kwie 12, 2018 10:26 pm

Re: Podział arkusz (danych) na strony z segregowanymi danymi

Post autor: Rafkus »

mitek pisze: Jak rozdzieliłeś daty i godziny na oddzielne kolumny bo nie widzę formuły a raczej tego nie przepisywałeś :) ??
1. Zaznaczyłem obszar kolumny z datą, skopiowałem ją a następnie wkleiłem jako niesformatowany tekst. Pojawiło się ono Importu tekstu, kliknąłem kolumnę z datą i zmieniłem typ kolumny ze standardowego na datę.
import.jpg
2. Można też w oknie importu zaznaczyć stałą szerokość, a następnie kliknąć na linijce w celu podziału kolumny na dwie części: Datę i czas.
Sprawdziłem, że można też wykorzystać funkcję:

Kod: Zaznacz cały

=WARTOŚĆ(A2)
przetworzy ona tekst wpisany do komórki A2 na wartość liczbową daty i czasu. Aby tą wartość rozdzielić na datę i czas korzystam z funkcji:

Kod: Zaznacz cały

=MOD(WARTOŚĆ(A2);1)
=CZ.CAŁK.DZIELENIA(WARTOŚĆ(A2);1)
Pierwsza funkcja oblicza resztę z dzielenia - da to wartość liczbową czasu, natomiast druga zwróci część całkowitą z dzielenia, wynikiem będzie data.[/del]
mitek pisze:wykluczyć sytuacje gdy ktoś zapomni odpić karty np. na wejściu albo na wyjściu.
Można dać jeszcze w tabeli pole liczące ile było jednakowych dat, a od użytkownika będzie zależeć co z tym zrobić...
mitek pisze:Jednak pozostaje ostatni pomysł czy można zrobić tak by te tabele przestawne skopiować na kolejne arkusze i każdy arkusz (strona wydruku) by dostał nazwę pracownika oraz informacje dla konkretnego pracownika.
Można się bawić i w każdym arkuszu stworzyć taką tabelę dla konkretnego pracownika, ale tego bym nie polecał - głównie przez kwestię odświeżania każdej tabeli po wprowadzeniu nowych danych.
W takim przypadku zastosowałbym makro.
Ostatnio zmieniony ndz lut 21, 2021 9:20 pm przez Rafkus, łącznie zmieniany 1 raz.
Powód: @Jermor podał lepszą formułę na zamianę tekstu na datę i czas
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: Podział arkusz (danych) na strony z segregowanymi danymi

Post autor: mitek »

Dzięki serdeczne panowie pokombinuje jeszcze i coś na pewno fajnego z tego wyjdzie.
Wcześniej datę i czas pobierałem na zasadzie PRAWY () lub LEWY () i potem to co powstawało w WARTOŚĆ () na koniec formatowanie ale widać można prościej :)
Generalnie chce zrobić sobie szablon gdzie na pierwszej stronie skopiuje dane z rejestratora a następnym dostane wyniki. Dziś 21 to jeszcze tydzień mam by podliczyć dane na koniec miesiąca :)
LibreOffice 6.1.2.1 na Windows 10
Awatar użytkownika
Rafkus
Posty: 513
Rejestracja: czw kwie 12, 2018 10:26 pm

Re: [SOLVED] Podział arkusz (danych) na strony z segregowany

Post autor: Rafkus »

Wymyśliłem jak można pobrać do arkusza dane od jednego pracownika - dzięki funkcji WEŹDANETABELI a możliwe rozwiązanie przedstawiam w załączniku. Oczywiście trzeba to jeszcze nieco dopracować - poukrywać błędy. Trzeba samodzielnie: dodawać nowe arkusze z pracownikami, w arkuszu pracownika należy również samemu tworzyć listę dat, dla których będą poszukiwane wartości w tabeli przestawnej.

Osobiście mam wątpliwości co do takiego rozwiązania, żałuję że wynik z WEŹDANETABELI nie może zwracać od razu całego obszaru, trzeba ściągać dane pojedynczo...

Edit:
Coś ta formuła szwankuje w OpenOffice.
Załączniki
RAPORT GODZINOWY_TabPrze2.ods
(73.06 KiB) Pobrany 118 razy
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
Jermor
Posty: 2238
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: [SOLVED] Podział arkusz (danych) na strony z segregowany

Post autor: Jermor »

Przedstawię jeszcze rozwiązanie oparte o filtr zaawansowany.
Zakładam, że chcesz np. wyemitować dane każdego pracownika
Arkusz1 gromadzi dane i wylicza potrzebne elementy.
Zamienia datę tekstową na układ Rok, Miesiąc i Dzień i wyznacza czas pracy w danym dniu (kolumna "Do liczenia"). Rok i Miesiąc są potrzebne do określenia okresu rozliczeniowego. Arkusz1 może zawierać setki zapisów.
Arkusz "Selekcja" zawiera obszar definiowania kryteriów wyboru oraz wyselekcjonowane rekordy spełniające te kryteria. Można wpisać wymaganą do znalezienia wartość pod każdym polem. Wszystkie pola z wyjątkiem Data i Dzień mają właściwość rozwijanej listy wyboru potrzebnych danych.
Z plikiem powiązane jest makro, podpięte do przycisku "Wybierz". Jego kliknięcie odświeża wyświetlane, odfiltrowane rekordy z bazy.
Wybierając dodatkowo Rok i Miesiąc można uzyskać kompletne zestawienie. Pozwala to przeglądać dane pod różnymi kątami. Np. jakie terminale były używane do wejścia?
Należy pamiętać o uzupełnianiu danych podstawowych w sposób taki aby nowe znalazły się zawsze w zakresie danych. Dane podstawowe mają przypisaną nazwę Baza_wejść, ale główną nazwą, wykorzystywaną podczas odświeżania danych jest nazwa "Wejścia_wyjścia" zdefiniowana poleceniem "Dane -> Określ zakres...".
To taki pomysł.
Załączniki
MITEK RAPORT GODZINOWY.filtr.ods
(83.42 KiB) Pobrany 120 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
mitek
Posty: 69
Rejestracja: czw lip 15, 2010 11:52 pm

Re: [SOLVED] Podział arkusz (danych) na strony z segregowany

Post autor: mitek »

Zrobiłem dość prosto myślę z kontrolą ilości odbić karty oraz komunikatami.
Do ideału brakuje mi ładnego formatowania i zastanawiam się czy można tak zrobić by ramka dla komórek pojawiała się tam gdzie są dane bo niestety nie udało mi się tego znaleźć. O ile formatowanie warunkowe coś może pomóc jeśli chodzi o czcionki to jednak dla obramowania komórek już nic nie wymyśliłem ...

Do postu dodaje moje rozwiązanie.
W Pierwszym arkuszu dane z rejestratora a w ostatnim wyniki.
Załączniki
CZAS PRACY.ods
(97.96 KiB) Pobrany 108 razy
LibreOffice 6.1.2.1 na Windows 10
Awatar użytkownika
Rafkus
Posty: 513
Rejestracja: czw kwie 12, 2018 10:26 pm

Re: [SOLVED] Podział arkusz (danych) na strony z segregowany

Post autor: Rafkus »

Niestety nie wiem jak zmienić formatowanie w tabeli przestawnej, ale wymyśliłem jeszcze jedno rozwiązanie bazujące na formułach macierzowych ale nie wymagających zatwierdzania ich kombinacją klawiszy CTRL+SHIFT+ENTER.
Ze względu na zastosowane funkcje (MAKS.WARUNKÓW i MIN.WARUNKÓW) rozwiązanie to jest przeznaczone dla Libre.
Załączniki
CZAS PRACY2.ods
(111.02 KiB) Pobrany 118 razy
LibreOffice 7.4.6 (preferowany) oraz OpenOffice 4.1.6. Widows 10
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
ODPOWIEDZ