INDEKS i PODAJ.POZYCJĘ zamiast WYSZUKAJ.PIONOWO
- Wysłane przez Darek
- Kategorie Funkcje wyszukiwania i adresu
- Tagi: INDEKS, JEŻELI.BŁĄD, obsługa błędów, PODAJ.POZYCJĘ, średnio-zaawansowany, WYSZUKAJ.PIONOWO
INDEKS i PODAJ.POZYCJĘ także zamiast zagnieżdżonej funkcji JEŻELI
W artykule WYSZUKAJ.PIONOWO zamiast zagnieżdżonej funkcji JEŻELI prezentuję jak można wykorzystać funkcje WYSZUKAJ.PIONOWO, by nie utrudniać sobie życia rozbudowanym zagnieżdżaniem funkcja JEŻELI. W kolejnym artykule INDEKS i PODAJ.POZYCJĘ dobre połączenie do wyszukiwania pokazuję jak skorzystać z tego zestawu funkcji i przenieść wyszukiwanie na wyższy poziom. W przykładzie tym jednak nie ma mowy nic o wyszukiwanych przybliżonych, które poruszę w tym artykule.
Pracować będziemy na pliku, który był dołączony do pierwszego z wymienionych artykułów, oczywiście poprawionym o sprawdzanie błędów zgodnie z dzisiejszym wpisem.
Porównując funkcje WYSZUKAJ.PIONOWO czy WYSZUKAJ.POZIOMO mamy do wyboru dwa rodzaje dopasowania, PRAWDĘ lub FAŁSZ, natomiast w funkcji PODAJ.POZYCJĘ możemy wybrać jedną z trzech możliwości:
- 1 – dopasowanie mniejsze lub równe szukanej wartości, można ten argument pominąć, gdyż jest to wartość domyślna – przeszukiwana tablica musi być posortowana rosnąco
- 0 – dokładne dopasowanie (FAŁSZ w WYSZUKAJ.PIONOWO)
- -1 – dopasowanie większe lub równe szukanej wartości– przeszukiwana tablica musi być posortowana malejąco
Praca z przykładowym plikiem
UWAGA! Niektóre pliki mogą wyświetlać błędy, jeśli wpisana formuła w komórkę jest inna niż zaplanowałem dla danego przykładu. Co nie oznacza, że koniecznie jest to błędem, gdyż często pewne rzeczy w Excelu można zrobić na kilka / kilkanaście sposobów.
Link do strony z plikiem do przykładu znajduje się poniżej. Żeby pobrać plik należy po kliknięciu w link założyć konto w serwisie, a jeśli już masz konto to się zalogować.
#10 plik do: indeks-podaj-pozycje-zamiast-wyszukaj-pionowo
Użyjmy INDEKS z PODAJ.POZYCJĘ do ustalenia wartości premii pracowników
Plik, który możecie pobrać do wykonania przykładu sprawdza, czy wpisujecie formuły zgodnie z przykładem, jeśli nie to Was o tym powiadomi.
W komórce J3 wpisuje więc następującą formułę:
=INDEKS($N$9:$N$13;PODAJ.POZYCJĘ(H8;$M$9:$M$13;1))
Powyższe dwie funkcje powinny podać nam wynik pod warunkiem, że będzie on dostępny w tabeli przeszukiwanej.
- INDEKS($N$9:$N$13; wskazuje tablicę, z której będzie wyświetlany wynik
- POZYCJĘ(H8; czego szukamy
- $M$9:$M$13; zakres, w którym szukamy
- 1)) dopasowanie mniejsze bądź równe szukanej wartości
A dlaczego nam wyświetlił się błąd #N/D!? Błąd pojawił się gdyż, najniższa wartość w tabeli przeszukiwanej ma wartość 80%. Jak sobie z tym poradzić? Możemy albo dodać do tabeli premiowej nowy wiersz z wartościami 0% lub obsłużyć ten przypadek obsługą błędów i wpisać zero, jeśli jest błąd.
JEŻELI BŁĄD – obsługa błędów
Ponownie przechodzimy do komórki J8, naciskamy klawisz F2 i kursor umieszczamy za znakiem równości, następnie uzupełniamy formułę o funkcję JEŻELI.BŁĄD. Wpisujemy więc:
=JEŻELI.BŁĄD(INDEKS($N$9:$N$13;PODAJ.POZYCJĘ(H8;$M$9:$M$13;1));0%)
Funkcja JEŻELI.BŁĄD posiada dwa argumenty, w pierwszy wskazujemy co chcemy wykonać kiedy błędu nie ma, a w drugim przypadku to kiedy błąd występuje. W naszym przykładzie kiedy pojawia się błąd, chcemy, by pojawiła się wartość zero.
Klikamy jeszcze raz na komórkę J8, następnie przesuwamy kursor w prawy dolny róg komórki i w momencie zmiany kursora w czarny krzyżyk klikamy dwa razy lewym przyciskiem myszy, dzięki temu Excel skopiuje formuły w dół. I w ten oto sposób zadanie zostało ukończone.
Oczywiście zapraszam do zapisywania się do mojego newslettera i komentowania.
Lubię Excela, polub go też. Ja chętnie Ci w tym pomgę.
Może Ci się spodobać
Funkcja WYSZUKAJ.POZIOMO
Funkcja X.WYSZUKAJ
INDEKS i PODAJ.POZYCJĘ dobre połączenie do wyszukiwania
Zostaw odpowiedź Anuluj pisanie odpowiedzi
Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.
2 komentarzy
Które rozwiazanie jest mniej procesożerne?
(WYSZUKAJ czy INDEKS+PODAJ.POZYCJĘ)
Pozdr!
Witaj,
Przy pracy nad małymi porcjami danych różnica jest ledwo wyczuwalna, przy dużych index/podaj.pozycję jest szybsza nawet około 30%. Pozdrawiam