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

Excel filtr zaawansowany i wyszukiwanie po dacie

DjKolano 28 Sty 2009 21:42 24457 6
  • #1 28 Sty 2009 21:42
    DjKolano
    Poziom 2  

    Witajcie,
    Stworzyłem arkusz w Excelu i mam oto bazę osób, które wyjeżdzają na wycieczkę. Baza składa się między innymi z pola DATA. Chciałbym teraz przy pomocy filtru zaawansowanego wyszukać osoby, które jadą na wycieczkę w marcu i w maju.

    Tworze nową tabelę z polem DATA, próbuję wpisywać <=2007-03-01 i >=2007-03-31 ale nic, nie zwraca mi wyników wcale bądź złe :(

    Drugi problem mam z funkcją wyszukaj.pionowo. Do pewnego momentu działa OK, a potem N/D :(

    W załączniku dodaję mój arkusz. Będę wdzięczny za każdą pomoc.

    0 6
  • #2 28 Sty 2009 23:02
    marek003
    Poziom 40  

    Aby wykorzystać filtr zaawansowany musisz w specyficzny sposób ustawić dane, a w szczególności nad tabelą z danymi (lub obok) powinieneś zostawić miejsce (wiersze) na warunki które powinien spełniać wynik (muszą być te same nagłówki kolumn).

    Dokładny opis jak to stosować będziesz miał jak wciśniesz pomoc (ikonka ze znakiem zapytania) i napiszesz "Filtr zaawansowany" i wciśniesz pierwsze odwołanie "Filtrowanie przy użyciu zaawansowanych kryteriów". Jeżeli nie zrozumiesz info z pomocy mogę podesłać ci plik. (Dodatkowym mankamentem jest to, że aby po wpisaniu (zmianie) kryteriów to zadziałało musisz znów wchodzić w: menu dane - filtr - filtr zaawansowany - OK)

    Osobiście jednak uważam, że powinieneś skorzystać z autofiltru. Jest prostszy w użyciu. Zaznaczasz wszystkie dane w tabeli i ... - menu dane - filtr - autofiltr. Po naciśnięciu strzałki przy DATA wybierasz "(inne)" i wpisujesz własne kryteria. Pokazuje ci się to co chcesz zobaczyć.

    Co do wyszukaj pionowo to nie wiem co chcesz uzyskać więc nie wiem jak ci pomóc.

    0
  • #3 28 Sty 2009 23:32
    adamas_nt
    Moderator Programowanie

    Poszerzyłem zakresy, wykluczyłem nagłówki i działa.

    Data: Nie jestem pewien o co chodzi. Może piszesz w złym formacie: rrrr-MM-dd zamiast dd-MM-rrrr
    Może użyj funkcji: DATA(rrrr;MM;dd). Np funkcja: =JEŻELI(ORAZ(DZIŚ()>=DATA(2009;3;1);DZIŚ()<=DATA(2009;3;31));PRAWDA;FAŁSZ) zwróci "PRAWDA" w każdym dniu marca 2009.

    0
  • #4 29 Sty 2009 10:13
    marek003
    Poziom 40  

    Załapałem o co chodzi z tym wyszukaj.pionowo (nie zwróciłem uwagi że już wykorzystałeś tą funkcję).

    Potrzebny jest jeszcze jeden argument "przeszukiwany zakres". Trzeba go ustawić na 0 (fałsz). Wtedy będzie wyszukiwane dokładnie to co jest szukane inaczej może pokazywać głupoty (co na marginesie widać po załączniku przedstawionym przez adamas_nt - wszystkie godziny takie same w kolumnie F co nie jest prawdą).
    Mimo że w kolumnie D niby jest dobrze dla pewności poprawił bym i tam formuły (dodał ;0 do argumentów funkcji)

    Innymi słowy przy funkcji wyszukaj.pionowo (i wyszukaj .poziomo) ostatnim argumentem musi być 0 żeby to dobrze działało. MS rozróżnił tu najlepsze dopasowanie (1 lub prawda lub pominięte) od dokładnego dopasowania (0 lub fałsz). W pierwszym przypadku słowa mogą być podobne w drugim muszą być identyczne. W praktyce prawdy nie stosuje się bo to excel wybiera co wyrzucić jako wynik i mogą powstać bzdury.

    Funkcja z załączonego arkusza F2 powinna wyglądać tak =WYSZUKAJ.PIONOWO(A2;Arkusz2!$D$8:$E$12;2;0)
    Potem trzeba skopiować w dół.

    Co do filtru jest kłopot z zapisem daty w kryterium. Jeszcze chwile z tym powalczę ale proponuje (tak jak pisałem wcześniej) autofiltr zamiast filtru zaawansowanego.

    Załączam plik z dodanymi argumentami 0 (nie poszerzałem zakresu) i wstawiony jest autofiltr.

    0
  • #5 29 Sty 2009 11:44
    marek003
    Poziom 40  

    Z filtrem zaawansowanym jest o tyle kłopot że datę którą ty wpisujesz excel widzi w rzeczywistości jako kolejną liczbę. Filtr zaawansowany nie potrafi przekonwertować daty na tą liczbę (jeżeli jest w zakresie) i dlatego nic nie pokazuje. (próbowałem różnych sposobów aby go zmusić [data, data.wartość i inne kombinacje] - na razie sie poddałem)

    Rozwiązaniem jest to by daty podawać w formie liczbowej wtedy filtr zaczyna działać.

    Poniżej przykład kiedy filtr działa tak jak chcesz jednak datę należy wpisać w postaci wartości. Po to obok dołożyłem "przerzutnik".
    Zadaniem filtru jest pokazać dane z Ukrainy w marcu

    Jest to dość uciążliwe więc proponuje po raz trzeci wykorzystać autofiltr.

    0
  • #6 29 Sty 2009 14:44
    DjKolano
    Poziom 2  

    Dziękuje Panowie, wielkie dzięki! Męczyłem się z tym filtrem zaawansowanym, próbowałem wyświetlać daty w różnej postaci i nic. A tutaj wchodzi tylko w grę postać liczbowa daty. Teraz już wiem jak "zmusić" Excela do tego aby działał. Czyli wychodzi na to, że za każdym razem w wyszuja.pionowo na końcu dodaję 0 tak?

    0
  • #7 29 Sty 2009 18:43
    marek003
    Poziom 40  

    DjKolano napisał:
    Dziękuje Panowie, wielkie dzięki! Męczyłem się z tym filtrem zaawansowanym, próbowałem wyświetlać daty w różnej postaci i nic. A tutaj wchodzi tylko w grę postać liczbowa daty. Teraz już wiem jak "zmusić" Excela do tego aby działał. Czyli wychodzi na to, że za każdym razem w wyszuja.pionowo na końcu dodaję 0 tak?


    Jeżeli zastosujesz autofiltr możesz się posługiwać datami.

    Co do 1 lub 0 jako ostatniego argumentu:
    Nie mam pojęcia co kieruje excelem we wskazywaniu najlepszego dopasowania (argument 1 lub pominięty). Przykład:
    w tabeli jest
    krowa | 1
    aaaa | 2
    Po wpisaniu WYSZUKAJ.PIONOWO("krowy";A1:B2;2;1) lub WYSZUKAJ.PIONOWO("krowy";A1:B2;2) funkcja daje 2.
    W miarę prawidłowo to działa, jeżeli dane są posegregowane rosnąco (tak jak radzi pomoc offica) jednak nie zawsze się ma posegregowane dane a czasami nawet nie wolno ich posegregować i wtedy mamy bzdury (jak wyżej).
    Więc osobiście radzę za pomocą tej funkcji szukać dokładnego dopasowania czyli 0 w ostatnim argumencie. Jeżeli nie znajdzie poszukiwanej wartości zwróci błąd ale jak znajdzie to na pewno zwróci odpowiednią daną tą którą się poszukuje.

    0