Autofiltr - kilka parametrów

Użytkowanie arkusza kalkulacyjnego
Awatar użytkownika
odwieczny
Posty: 10
Rejestracja: pn lut 08, 2021 9:48 pm

Autofiltr - kilka parametrów

Post autor: odwieczny »

Witam.
Czy można przy opcji Autofiltr w wybranej kolumnie ustawić aby z określonej komórce były dwa (lub więcej) parametry jednocześnie?

Przykład:
Nagłówek: Wybierz opcję
A
A
A
AB
B
B
B
C
C
C

Przy wyborze "A" z listy zostały wyświetlone wszystkie wiersze z "A" i z "AB" i analogicznie przy wyborze "B".
OpenOffice 4.1.7 Windows 8.1
LibreOffice 7.1.0 Windows 8.1
Poza tym ciągle się uczę więc proszę o wyrozumiałość ;)
Awatar użytkownika
Jermor
Posty: 2255
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Autofiltr -

Post autor: Jermor »

Jeśli korzystasz z Apache OpenOffice - to nie. Autofiltr pozwala wskazać tylko jedną wartość z listy.
Jeśli przejdziesz na LIbreOffice, to prawie tak. Menu autofiltru zawiera okienko "Szukaj pozycji". Podczas wpisywanie do niego tekstu lista możliwości jest zawężana zgodnie z wpisywanym tekstem. Np. po wpisaniu litery "a" lista wyboru zostanie ograniczona do wpisów, które zawierają tę literę w dowolnym miejscu. Po dopisaniu następnego znaku, np. litery "k" lista zostanie zawężona tylko do pozycji zawierających te dwie litery w układzie "ak", także występujących w dowolnym miejscu elementów filtrowanych pozycji. Jednak wpisanie "ka" nie pokaże elementów zawierających "ak", tu potrzebne są filtry bardziej rozbudowane.
O filtrowaniu zakresu danych jest trochę tutaj: https://yestok.pl/lbo/y59.php
Stąd sugestia przeprowadzki na LibreOfficce.
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: Autofiltr - kilka parametrów

Post autor: Rafkus »

W OO też jest to możliwe, choć nie nie tak wygodnie jak w LO.
Należy wywołać Filtr standardowy i ustawić Nazwa pola (u Ciebie Wybierz opcję), Warunek (Zawiera), Wartość (A).
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: 2255
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Autofiltr - kilka parametrów

Post autor: Jermor »

Tylko, że wówczas będzie to już filtr standardowy a nie Autofiltr.
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: Autofiltr - kilka parametrów

Post autor: Rafkus »

Ale mimo wszystko można to wywołać z autofiltra:
filtr.jpg
filtr.jpg (31.75 KiB) Przejrzano 3476 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
odwieczny
Posty: 10
Rejestracja: pn lut 08, 2021 9:48 pm

Re: Autofiltr - kilka parametrów

Post autor: odwieczny »

Rafkus pisze:Ale mimo wszystko można to wywołać z autofiltra:
Nie zrozumiałeś o co mi chodziło. Żeby nie było opcji AB w filtrze tylko samo A lub B a wiersz oznaczony AB był wyświetlany po wybraniu opcji A lub B z filtra (miał dwa parametry jednocześnie).
Jermor pisze:Jeśli przejdziesz na LIbreOffice,
Niestety nie mogę. Na nawet jakbym dal radę to jest to problem nie dla mnie ale dla osób które będą z tego korzystały. Arkusz musi być jak najłatwiejszy w obsłudze :(
Udało mi się trochę pokombinować i tymczasowo ominąłem te problem dodając nową kolumnę obok, z tymi samymi wartościami a potem na tej nowej kolumnie użyłem autofiltra. Nie dodalem nic do wiersza który chce wyświetlić pod kilkoma parametrami, tam usunąłem zawartość. Pod tym właśnie wierszem dodałem nowe, oznaczyłem je tak jak chce aby ten nieznaczony wiersz był filtrowany (jeden wierz na jeden parametr) a potem scaliłem wybrane komórki (z nieoznaczonego z tymi poniżej).
O dziwo działa. Jako tako. Gdy jest tylko jedna linijka tekstu wyświetla się poprawnie, gdy jest więcej już nie zawsze. Dodatkowo używając strzałem na klawiaturze aby wybrać dane komórki program przeskakuje przez te scalone :)
Załączniki
kilka parametrów listy w jednej komórce.jpg
kilka parametrów listy w jednej komórce.ods
(11.66 KiB) Pobrany 131 razy
OpenOffice 4.1.7 Windows 8.1
LibreOffice 7.1.0 Windows 8.1
Poza tym ciągle się uczę więc proszę o wyrozumiałość ;)
Jan_J
Posty: 4560
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Autofiltr - kilka parametrów

Post autor: Jan_J »

(Auto)filtr jest zwierzęciem ze stajni bazy danych, a scalanie komórek — ze świata formatowania dokumentów. Tego się nie da pogodzić.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Awatar użytkownika
Jermor
Posty: 2255
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Autofiltr - kilka parametrów

Post autor: Jermor »

odwieczny pisze:jest to problem nie dla mnie ale dla osób które będą z tego korzystały. Arkusz musi być jak najłatwiejszy w obsłudze
Wydaje mi się, że to jeszcze bardziej komplikuje prezentację danych.
Sugeruję zastosowanie filtra zaawansowanego, z wykorzystaniem wyrażeń regularnych oraz możliwości odświeżania danych. Użytkownik może wpisać tylko potrzebne litery. Samo kryterium filtrowania (wyrażenie regularne) powstanie automatycznie i nie musi być widoczne dla użytkownika.
O takim filtrze możesz poczytać tutaj:
https://yestok.pl/lbo/y59.php
w zwrotnym pliku jest sposób rozwiązania.
Załączniki
odwieczny.ods
(17.58 KiB) Pobrany 124 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
odwieczny
Posty: 10
Rejestracja: pn lut 08, 2021 9:48 pm

Re: Autofiltr - kilka parametrów

Post autor: odwieczny »

Dzięki ale nie do końca przypadło mi takie rozwiązanie do gustu, trzeba dodatkowo kliknąć „Dane → Odśwież zakres”.

Natomiast uparłem się na typowy dla Autofiltra wygląd i wypociłem samemu coś takiego poniżej, choć przyznam że nie chciałem używać makr:
1. wyłączyłem autofiltr, dodałem pole Kombi, z zakresem komórek z innego arkusza i komórką połączoną
2. ustawiłem makro na Zmieniony Stan dla pola kombi które pokazuje/ukrywa wierze które mają tekst z komórki połączonej z polem kombi
Wszystko działa tylko nie mam większej wiedzy aby ustawić kilka zmiennych w jednej komórce podzielonych jakimś znakiem.
Ewentualnie jak zastosować tą "formułę generująca kryterium" w makrze bo to powinno chyba uprościć jeszcze takie makro.

Kod: Zaznacz cały

Sub filtr()
  rem ukrywa w bieżącym arkuszu wiersze, które mają tekst z FILTR w kolumnie A połączonej z komórką B1.
  rem Przetwarzane są wiersze od pierwszego, dopóki w kolumnie A nie znajdzie sie wartość END - czyli koniec tabeli do filtrowania.
 
  TenArkusz = thisComponent.CurrentController.ActiveSheet
  
  WybranyFiltr =TenArkusz.getCellByPosition(1,0).getString() rem (kolumna B, wiersz 1), 
  rem "WybranyFiltr" = tekst z komórki B1 który jest aktywnym wyborem/zaznczeniem w FILTR
  
  i = 1
  
  id = TenArkusz.getCellByPosition(1,i).getString()
  
  while id <> "END" rem powtarza pętle dopóki nie napotka END w komórce

    If WybranyFiltr = "wszystkie" Then  rem if WybranyFiltr = wszystkie, to pokazuje wszystkie wiersze nawet wcześniej ukryte
    	 TenArkusz.rows.getByIndex(i).isVisible = true
    Else
    
        rem jeśli w id jest znak ";" to
	rem 	podziel id string na części = ilośc ";" 
	rem 	potem sprawdź czy któraś z wydzielonych części id jest = WybranyFilt
	rem 	wyświetl lub ukryj wiersz
	rem jeśli nie ma ";" to idź dalej
    
    	 TenArkusz.rows.getByIndex(i).isVisible = (id = WybranyFiltr) rem false/true; jeśli id = WybranyFiltr to TRUE (pokazuje wiersz),  jeśli id <> WybranyFiltr to FALSE (ukrywa wiersz)
    End If
      
    i = i+1 rem przechodzi do nastepnego wiersza
    id = TenArkusz.getCellByPosition(1,i).getString()
  wend

End sub
Załączniki
ręczny filtr.ods
(14.12 KiB) Pobrany 137 razy
OpenOffice 4.1.7 Windows 8.1
LibreOffice 7.1.0 Windows 8.1
Poza tym ciągle się uczę więc proszę o wyrozumiałość ;)
Awatar użytkownika
Jermor
Posty: 2255
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Autofiltr - kilka parametrów

Post autor: Jermor »

Sądzę, że mogłeś po prostu nagrać makro "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.
Awatar użytkownika
Rafkus
Posty: 516
Rejestracja: czw kwie 12, 2018 10:26 pm

Re: Autofiltr - kilka parametrów

Post autor: Rafkus »

Po zastanowieniu proponuję tak:
Gdzieś do jakieś komórki, powiedzmy B1, wpisuję (albo wybieram z listy) jaki parametr mnie interesuje: A, B lub C.
W pomocniczej kolumnie, na końcu danych wpisuję formułę:

Kod: Zaznacz cały

=JEŻELI(CZY.BŁĄD(ZNAJDŹ($B$1; A3));  0;  1)
Wynikiem formuły jest zero - jedynkowa informacja czy w danym wierszu w twoim wyborze opcji znajduje się także wybrany parametr. Teraz włączając autofiltr na tej dodatkowej kolumnie i wybierając 1 zostaną wyświetlone opcje z wybranym parametrem.

Oczywiście po zmianie wartości w komórce B1 należy znowu odświeżyć filtr w pomocniczej kolumnie (czyli znowu wybrać 1) albo zakres danych. Aby oszczędzić sobie klikania nagrałem makro odświerzający zakres.
W pliku przedstawione rozwiązanie razem z makrem
Załączniki
odwieczny2.ods
(11.02 KiB) Pobrany 136 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: 2255
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Autofiltr - kilka parametrów

Post autor: Jermor »

Ja to zrobiłem z wykorzystaniem formantu tekstowego, do którego należy wpisać potrzebne znaki. Formant jest powiązany z komórką, która jest związana z tworzeniem kryterium oraz z makrem, które odświeża zakres.
Załączniki
odwieczny.ods
plik z dołączonym formantem i makrem.
(19.04 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.
ODPOWIEDZ