Kilka filtrów podczas kopiowania danych

Użytkowanie arkusza kalkulacyjnego
michal2303
Posty: 6
Rejestracja: pt mar 27, 2020 1:08 pm

Kilka filtrów podczas kopiowania danych

Post autor: michal2303 »

Nawiązując do artykułu Kopiowanie ze zmiennego zbioru danych wierszy spełniających kryteria. Czy jest możliwość zastosowania kilku filtrów? Chcę żeby z jednej głównej zakładki z danymi ludzi kopiowało na kolejne zakładki wiersze z określonymi np nazwiskami na b, druga zakładka nazwiskami na c itd. potrzebuję ok 20 filtrów.
Nawiązując do artykułu http://przepis-na-lo.pl/2013/03/kopiowa ... -kryteria/
OpenOffice 3.1
Awatar użytkownika
Rafkus
Posty: 515
Rejestracja: czw kwie 12, 2018 10:26 pm

Re: Kilka filtrów podczas kopiowania danych

Post autor: Rafkus »

Obawiam się, że to jest raczej nie możliwe. Arkusz pozwala tylko na zdefiniowane w ten sposób tylko jednego filtra.
LibreOffice 7.4.6 (preferowany) oraz OpenOffice 4.1.6. Widows 10
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
michal2303
Posty: 6
Rejestracja: pt mar 27, 2020 1:08 pm

Re: Kilka filtrów podczas kopiowania danych

Post autor: michal2303 »

a jest jakaś możliwość żeby napisać reguły w kolejnych arkuszach że przenosi z pierwszego arkusza tylko wiersze zawierające określoną wartość? to w każdym wierszy wpiszę regułę i przeniesie do odpowiedniego arkusza.
OpenOffice 3.1
Awatar użytkownika
Jermor
Posty: 2254
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Kilka filtrów podczas kopiowania danych

Post autor: Jermor »

Tak jak napisał @Rafkus, w sytuacji, gdy w stosunku do jednego obszaru wymaga się wielu kryteriów, należy tworzyć je za każdym razem od nowa.
Zakładając, że prawdopodobnie nie oglądasz równolegle tych dwudziestu kilku zestawień, mogę zaproponować rozwiązanie zastępcze. Polega ono na wykorzystaniu głównego zestawienia i wyświetleniu z niego tylko wpisów na określoną literę.
Przygotowałem mały przykład, jak to mogłoby działać.
Załączony plik zawiera listę nazwisk. Obszar tej bazy ma nadaną nazwę "Nazwiska". Jeżeli w opcjach Calca, w części "Ogólne" włączono opcję "Rozszerz odwołania przy wstawianiu nowych wierszy/kolumn", to dodanie nowego wiersza po ostatniej pozycji zmieni zakres nazwy. Należy rozróżnić "dodanie" od "dopisanie". Dodanie oznacza użycie polecenia "Wstaw wiersze poniżej" lub "powyżej". Gdy odbędzie się to wewnątrz obszaru, pojawi się w nim pusty wiersz. Gdy zostanie użyte wtedy gdy aktywna jest ostatnia komórka obszaru, to obszar staje się powiększony o ten pusty wiersz, który następnie można zapełnić nowymi danymi.
Do pliku włączyłem nagrane, a następnie nieco zmodyfikowane makro, które jest przypisane do przycisku "Nazwiska" umieszczonym w arkuszu. Wykonuje ono operację filtrowania zaawansowanego, według pierwszej litery imienia. Makro prosi o podanie litery, a następnie wykonuje operację odświeżania danych.
Niepodanie żadnej litery przywraca pełną listę nazwisk.

O korzystaniu arkusza jako bazy danych napisałem opracowanie tutaj: https://yestok.pl/lbo/y59.php
Załączniki
0 ludzie.ods
(14.69 KiB) Pobrany 103 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: 515
Rejestracja: czw kwie 12, 2018 10:26 pm

Re: Kilka filtrów podczas kopiowania danych

Post autor: Rafkus »

@michal2303 odpowiadając na twoje pytanie: jest możliwe stworzenie takiej formuły aby w określonych miejscach wyświetlały się wybiórcze dane. Mnie udało się to zrobić przy pomocy formuł macierzowych, ale nie polecam tego sposobu, gdyż obawiam się o wydajność komputera. Np. jeżeli zakres danych będzie mieścił się w 1000 wierszach i będą one nie posortowane (czy też pogrupowane), arkusz będzie musiał dla każdej pozycji dokonać obliczenia (1000 obliczeń aby wyświetlić je dodatkowo na 20 innych arkuszach). Uważam, że znacznie lepszym rozwiązaniem byłoby zastosowanie jakiegoś filtra, a konkretnie auto filtra. Przy jego pomocy można bez problemu ukryć niechciane dane, a ukryte dane nie są widoczne na wydrukach. Można też zastosować tabele przestawne, choć w tym przypadku czasami uprzykrzająca jest zabawa z krawędziami takiej tabeli.
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: 2254
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Kilka filtrów podczas kopiowania danych

Post autor: Jermor »

Sądzę, że autofiltr nie będzie tu najlepszym pomysłem. @michal2303 napisał, że chce wyszukiwać dane wg jakiegoś szablonu, a tego autofiltr nie umożliwia. Wyrażenia regularne można zastosować w filtrach: standardowym i zaawansowanym. Zastosowanie standardowego, wymaga każdorazowo zmiany kryterium w parametrach filtru. Jeśli rzeczywiście @michal2303 chce utworzyć ileś arkuszy dedykowanych, to należałoby w nich umieścić kopię arkusza podstawowego. Czyli we wszystkich arkuszach wprowadzić formuły =komórka z arkusza podstawowego. To nawet jest szybkie do wykonania.
Należy zaznaczyć wszystkie te arkusze, które mają zawierać te różne odfiltrowane dane. Jeżeli zawartość komórki A1 arkusza podstawowego (a jest nim np. "Arkusz1") ma się znaleźć w komórce A1, w każdym arkuszu dedykowanym, to w dowolnym arkuszu dedykowanym, wtedy gdy są one zaznaczone, należy wpisać do komórki A1 formułę: =$Arkusz1.A1. Trzeba to wpisać ręcznie, bo klikając w Arkusz1 po to, aby wskazać komórkę A1, wyłączy się zaznaczenie arkuszy. Formułę tę można teraz przeciągnąć w lewo i w dół, co sprawi, że formuła pojawi się we wszystkich zaznaczonych arkuszach. Należy zaznaczyć tyle wierszy, ile spodziewamy się otrzymać w arkuszu podstawowym. Chodzi o to, aby, gdy w arkuszu podstawowym pojawią się nowe wpisy, pojawią się one automatycznie w arkuszach dedykowanych. Teraz w każdym dedykowanym arkuszu, w obszarze danych, można utworzyć filtr standardowy, który w polu "nazwisko" może mieć wpis w postaci wyrażenia regularnego, w rodzaju np. "A.*", które w tym wypadku oznacza wybór tylko tych rekordów, w których nazwiska zaczynają się literą "A".
Jednak i teraz, aby mieć aktualny zestaw danych należy w każdym dedykowanym arkuszu odświeżać dane. Pozostawienie tego "ręcznemu" działaniu może prowadzić do niepożądanych efektów. Pracownik może zapomnieć o odnowieniu wykazu i przekazać lub wykorzystać nieaktualne dane. Jest oczywiście do pomyślenia makro, które odświeży zakres danych w dedykowanym arkuszu wtedy, gdy użytkownik przełączy się na ten arkusz.

Filtr zaawansowany umożliwia wpisanie zmienionych kryteriów w obszarze kryteriów, co właśnie wykorzystałem w zaproponowanym pomyśle. Pozwoli to wygenerować potrzebne zestawienie bezpośrednio w arkuszu podstawowym.
Filtrowanie nie jest elementem "obliczeniowym" arkusza, więc to działanie nie odbywa się automatycznie po zmianach w arkuszu. Wymagane jest ponowne wykonanie filtrowania, w szczególnych sytuacjach wystarczy wykorzystać operacje "Odśwież zakres".
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.
ODPOWIEDZ