Alicja Frączyk

Alicja Frączyk Whirlpool Wrocław

Temat: Wyszukiwanie kilku wartości spełniającej jedno kryterium...

Hej

Czy ktoś z Was zna taką funkcję, która będzie wyszukiwała wszystkie wartości z tabeli (szukane wartości znajdują się w jednej kolumnie) o określonym kryterium (kryterium znajduje się w innej kolumnie niż ta wartość co ma być zwrócona)

Kryterium Nazwisko
1 Kowaliski
2 Nowak
1 aaa
2 www
2 eee
2 rrr\
1 hh
1 aaaaa
1 llll
2 hhhhhh

Z takiej tabeli jak powyżej chciałabym, żeby zwracało tylko nazwiska z kryterium 1 do kolumny w innym arkuszu.

konto usunięte

Temat: Wyszukiwanie kilku wartości spełniającej jedno kryterium...

Witam, spróbuj tak:
1. wklej swoje dane do arkusza do kolumny A i B zaczynając od wiersza pierwszego
2. na przykład w D1 wpisz proszę formułkę tablicową (zatwierdzamy ją kombinacją klawiszy Ctrl+Shift+Enter):

=INDEKS($B$1:$B$11;MIN.K(JEŻELI($A$2:$A$11=1;WIERSZ($A$2:$A$11);"");WIERSZ()))

3. przeciągnij formułkę z pkt. 2 na odpowiedni zakres

Pozdrawiam.Darek J. edytował(a) ten post dnia 12.01.12 o godzinie 17:15

konto usunięte

Temat: Wyszukiwanie kilku wartości spełniającej jedno kryterium...

Witaj,

Możesz użyć funkcji jeżeli.

W kolumnie C wstawiasz funkcję:

=JEŻELI(A1=1;B1;"")

Dane masz w kolumnie:
A - KRYTERIUM
B - NAZWISKO

Możesz to zrobic również filtrem :

Narzędzia główne->Edycja->Sortuj i filtruj

PozdrawiamRadosław Pacut edytował(a) ten post dnia 23.01.12 o godzinie 10:52
Jakub C.

Jakub C. Kruk S.A.

Temat: Wyszukiwanie kilku wartości spełniającej jedno kryterium...

Funkcja Darka podoba mi się, lecz jeśli nie zna się maksymalnej liczby wierszy to funkcja tablicowa jest kłopotliwa w "przeciąganiu"

Mój pomysł

Założenia:
1.W pierwszym wierszu twojej tabeli źródłowej są nagłówki (np. kryterium, nazwisko)
2.Tabela jest posortowana po Kryterium

=JEŻELI(LICZ.JEŻELI(ADR.POŚR("Arkusz1!A"&PODAJ.POZYCJĘ(Kryterium;Arkusz1!A:A;0)-1+WIERSZ(Arkusz1!A1)&":A1000";PRAWDA);Kryterium)>0;PRZESUNIĘCIE(Arkusz1!A1;PODAJ.POZYCJĘ(Kryterium;Arkusz1!A:A;0)-1;1);"")

Oczywiście pod słowo kryterium podstawiasz odpowiednie kryterium np 1 lub 2
Formułę przeciągasz w dół na odpowiednio dużą z zapasem liczbę wierszy i jest OK.
"A1000" to maksymalna ilość wierszy w tabeli (z odpowiednim zapasem).

A tak w ogóle to problem jest banalny w VBA.
JC
Aleksander Majewski

Aleksander Majewski
--------------------
--------------------
-------------

Temat: Wyszukiwanie kilku wartości spełniającej jedno kryterium...

To ja może zaproponuję nieco inne podejście - tabele przestawną.

Gdzie w wierszach będą dane z kolumny Nazwisko - a filtrem raportu - kolumna Kryterium.
W efekcie filtrowanie tabeli wg wartości z Kryterium - da nam poszukiwany zakres danych.

Pozdrawiam,
A.M.

Temat: Wyszukiwanie kilku wartości spełniającej jedno kryterium...

jeszcze zależy co się chce z tym dalej robić, pod to należy dobrać rozwiązanie
Mateusz Tokarzewski

Mateusz Tokarzewski Zakontraktowany :)

Temat: Wyszukiwanie kilku wartości spełniającej jedno kryterium...

A co jesli Kryterium nie jest posortowane jak w grafiku miesięcznym, gdy kryterium na każdy dzień jest inne?
np.
NAZWISKO PRACUJE 1 2 3 4 ... 31
Nazwisko1 x - ...
Nazwisko2 - x ...
Nazwisko3 x x ...
Nazwisko4 - x ...
Nazwisko5 x x ...
Nazwisko6 - - ...
Nazwisko7 x - ...
Jak w takim przypadku wypisać wszystkie nazwiska spełniające kryterium danego dnia?
Piotr Nadarkiewicz

Piotr Nadarkiewicz Professional Scrum
Master I, AgilePM
Practitioner,
PRINCE...

Temat: Wyszukiwanie kilku wartości spełniającej jedno kryterium...

Ja bym proponował po prostu filtr zaawansowany:

tabela z danymi:

0 A B
1 osoba kryterium
2 Czarek 99
3 Marek 1
4 Wacek 1
... ... ...
8 kryterium
9 1
... ... ...
12 osoba
13


Krok po kroku:
1. Dane / Sortowanie i filtrowanie / Zaawansowane
2. Akcja: kopiuj w inne miejsce
Zakres listy: $A$1:$B$4
Zakres kryteriów: $B$8
Kopiuj do: $A$12
OK

W ten sposób powstanie nam lista zawierająca Marka i Wacka w komórkach A12:A14.

Stosując to samo działanie możemy korzystać z wielu kryteriów jednocześnie oraz prezentować różne zakresy danych.

Dane mogą też pozostać w "starym" arkuszu a efekt filtra możemy przenieść do arkusza nowego.

Do automatyzacji najlepiej przenieść zakres kryteriów poza kolumny z danymi wejściowymi, rozszerzyć zakres listy na całe kolumny i dodać mini-makro (jeżeli obsługiwał będzie ten arkusz ktoś mniej biegły w Excelu) do uruchamiania filtrowania.

Może to pomoże :)Piotr Nadarkiewicz edytował(a) ten post dnia 13.03.13 o godzinie 20:22
Marta T.

Marta T. Specjalista ds.
Kampanii CRM

Temat: Wyszukiwanie kilku wartości spełniającej jedno kryterium...

Jakub C.:
Funkcja Darka podoba mi się, lecz jeśli nie zna się maksymalnej liczby wierszy to funkcja tablicowa jest kłopotliwa w "przeciąganiu"

Mój pomysł

Założenia:
1.W pierwszym wierszu twojej tabeli źródłowej są nagłówki (np. kryterium, nazwisko)
2.Tabela jest posortowana po Kryterium

=JEŻELI(LICZ.JEŻELI(ADR.POŚR("Arkusz1!A"&PODAJ.POZYCJĘ(Kryterium;Arkusz1!A:A;0)-1+WIERSZ(Arkusz1!A1)&":A1000";PRAWDA);Kryterium)>0;PRZESUNIĘCIE(Arkusz1!A1;PODAJ.POZYCJĘ(Kryterium;Arkusz1!A:A;0)-1;1);"")

Oczywiście pod słowo kryterium podstawiasz odpowiednie kryterium np 1 lub 2
Formułę przeciągasz w dół na odpowiednio dużą z zapasem liczbę wierszy i jest OK.
"A1000" to maksymalna ilość wierszy w tabeli (z odpowiednim zapasem).

A tak w ogóle to problem jest banalny w VBA.
JC
Jak to można zrobić w vba?



Wyślij zaproszenie do