logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[EXCEL] Jak poprawnie filtrować dane w trzech kolumnach w Excelu?

bystrotrecon 20 Sie 2017 18:10 1482 10
REKLAMA
  • #1 16652921
    bystrotrecon
    Poziom 7  
    Posty: 128
    Ocena: 6
    Witam. Stworzyłem rejestr, w którym docelowo chciałbym filtrować dane w trzech kolumnach: JB, Zakład, Uzasadnienie. Zdefiniowałem nazwy, lecz nie wiem czy poprawnie. Całość nie działa tak jak powinna, nie mogę odnaleźć błędu (pewnie w makrze). Proszę o pomoc.
    Załączniki:
    • Rejestr.xls (1.48 MB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #2 16654527
    lanzul
    Poziom 30  
    Posty: 1023
    Pomógł: 199
    Ocena: 123
    bystrotrecon napisał:
    docelowo chciałbym filtrować dane w trzech kolumnach: JB, Zakład, Uzasadnienie

    A jakie operatory ... i/lub ... nie mówiąc o przyrównaniach ... równa się/nie równa się/zawiera/nie zawiera/zaczyna się/nie zaczyna się ... itd. ... ?
  • REKLAMA
  • #3 16654609
    bystrotrecon
    Poziom 7  
    Posty: 128
    Ocena: 6
    Wybierając np. w JB - GA zostają wiersze z GA, dodatkowo dokładając np. w Zakładzie - A, zostają z tych przefiltrowanych wierszy tylko A ... całość jest zrobiona, tylko nie mogę znaleźć błędu..
  • #4 16654885
    lanzul
    Poziom 30  
    Posty: 1023
    Pomógł: 199
    Ocena: 123
    bystrotrecon napisał:
    Wybierając np. w JB - GA zostają wiersze z GA, dodatkowo dokładając np. w Zakładzie - A, zostają z tych przefiltrowanych wierszy tylko A

    Czyli "proste" wybieranie, bez operatorów i przyrównań, tylko jedno kryterium na kolumnę
    bystrotrecon napisał:
    całość jest zrobiona, tylko nie mogę znaleźć błędu

    :) ... jeśli jest zrobiona, to dlaczego nie działa ... :) ...

    Wg mnie ...
    1. Stosujesz metody operowania AutoFiltrem, po to by na końcu próbować "wcisnąć" to w opcję/metodę filtra zaawansowanego ... to dwie różne sprawy.
    Skup się na jednej z tych metod.

    2. Włączyłeś w to nazwy zdefiniowane arkusza podpięte i pod obszary i pod funkcje arkuszowe ... po co ... skoro chcesz stosować makra ... jeśli makra, to tam sobie to wszystko "poustawiasz", przykładowy opis algorytmu, jaki by można zastosować:
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • Pomocny post
    #6 16656587
    lanzul
    Poziom 30  
    Posty: 1023
    Pomógł: 199
    Ocena: 123
    bystrotrecon napisał:
    Wzorowałem się na pliku z dwoma zmiennymi, który działa idealnie. Dodałem trzecią zmienną i wszystko się posypało

    Zwróć uwagę, że:
    1. W pliku "wzorcowym" istniejące tam dwa warunki działają "na krzyż", tzn., że jeśli jeden z nich = "Wszystkie", to sprawdź wartość drugiego i jeśli ten jest inny jak "Wszystkie" to wykonaj kryteria przypisane do tego pierwszego ... albo warunek końcowy, jeśli obydwa kryteria są inne jak "Wszystkie":
    Kod: text
    Zaloguj się, aby zobaczyć kod

    2. U ciebie są trzy warunki, jak więc ma to działać na takiej zasadzie, jak wyżej ?
    Chcesz się może "bawić w wyznaczniki macierzy trójelementowej" ... :) ... ?

    3. Dodatkowo nagłówki obszaru warunków, u ciebie zakres 'E12:F12' oraz 'H12' muszą być takie same jak w tabeli ... a nie są ... w tabeli masz wstawione odstępy po nagłówku 'JB' (3 odstępy) i 'Uzasadnienie" (72 odstępy), tak więc są to zupełnie inne etykiety nagłówków, jak w obszarze warunków. Jak więc ma to działać ?

    4. Żeby to zadziałało, trzeba to napisać "prawie od początku" z "inną ideą" ... chociaż szkielet i pewne elementy można by pewnie zostawić ... dodatkowo "całą zabwę" psują te "Wszystkie".
    Filtr zaawansowany "nie rozumie" tego i szuka takich wpisów w tabeli, co przy prostym kodzie - "wyłączającym" taki wpis "z rozpatrywania" - powodować może, że kryteria filtrowania z obszaru warunków nie będą traktowane całościowo, a rozłącznie, nie na zasadzie "to i to i to", ale "to albo to albo to" - przykład takiego działania poniżej, można sobie "poeksperymentować":
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #7 16656884
    bystrotrecon
    Poziom 7  
    Posty: 128
    Ocena: 6
    Dziękuje "lanzul" za szczerą chęć pomocy, jednak chyba będę musiał zostać przy dwóch kryteriach filtrowania. Z plikiem "wzorcowym" masz w 100% racje, dzięki Tobie zrozumiałem o co chodzi. Korzystając z podpowiedzi, też nie do końca chce mi to działać - przy samym 'JB' lub 'JB'+'Zakład' jest ok, dodając jednak trzecie kryterium, w moim przypadku 'Uzasadnienie' - filtrowanie dwóch poprzednich zostaje przerwane i filtruje same dane z kolumny: Uzasadnienie. Nie jestem jeszcze na tyle biegły w tych sprawach więc zostanę przy okrojonym rozwiązaniu.
  • REKLAMA
  • #8 16657027
    lanzul
    Poziom 30  
    Posty: 1023
    Pomógł: 199
    Ocena: 123
    bystrotrecon napisał:
    jednak chyba będę musiał zostać przy dwóch kryteriach filtrowania

    Nie ... dlaczego (?) ... za szybko się poddajesz ... :) ... Sprawdź jak będzie działać, to co poniżej ... jak nie będzie, to będzie się główkować "dalij":
    Kod: text
    Zaloguj się, aby zobaczyć kod


    Możesz to jeszcze skrócić do takiej formy i w ogóle wyrzucić wszystkie nazwy zdefiniowane w arkuszu, które wcześniej się do tego odnosiły:
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #9 16657106
    bystrotrecon
    Poziom 7  
    Posty: 128
    Ocena: 6
    Super, jeszcze raz wielkie dzięki. Teraz pięknie wszystko się filtruje. Wydaje się mi, że w ten sposób łatwo rozbudować filtr o kolejne kryteria.. Wytłumacz mi tylko o co chodzi z "zakr_kryt". Chciałbym chociaż w połowie dysponować taką wiedzą. Pozdrawiam.
  • #10 16657763
    lanzul
    Poziom 30  
    Posty: 1023
    Pomógł: 199
    Ocena: 123
    bystrotrecon napisał:
    ... o co chodzi z "zakr_kryt"...

    Zakres kryteriów - obszar, w którym podajesz warunki filtrowania filtra zaawansowanego. Jeśli takie warunki nakłada się "pojedynczo", to dzieją się różne "dziwne" rzeczy, jak w pierwszym przykładzie z pętlą. Jeśli, mimo pojedynczych zmian, zastosować do filtracji "cały" obszar warunków, zbiorczo, to działa jak powinno. Pojedyncza zmiana rzutuje tylko na "sformułowanie" całości kryteriów przed ich zastosowaniem, do filtracji brany jest już potem cały, jednolity zakres warunków. Zakres ten ma stałe położenie w arkuszu, dlatego został przypisany w kodzie do stałej.
  • #11 16657978
    bystrotrecon
    Poziom 7  
    Posty: 128
    Ocena: 6
    Jeszcze raz dziękuje. Uznajmy, że w połowie zrozumiałem :) Pozdrawiam.

Podsumowanie tematu

✨ W dyskusji poruszono problem filtrowania danych w trzech kolumnach w Excelu: JB, Zakład i Uzasadnienie. Użytkownik zdefiniował nazwy, ale napotkał trudności w działaniu makra. Odpowiedzi sugerowały różne podejścia do filtrowania, w tym użycie AutoFiltrowania oraz filtrów zaawansowanych. Wskazano na konieczność poprawnego ustawienia warunków oraz zgodności nagłówków z tabelą. Użytkownik ostatecznie zrozumiał, jak działa filtracja przy dwóch kryteriach, ale miał trudności z dodaniem trzeciego. Ostatecznie uzyskał pomoc w poprawnym skonfigurowaniu makra, co umożliwiło mu skuteczne filtrowanie danych.
Wygenerowane przez model językowy.
REKLAMA