Lewostronne WYSZUKAJ.PIONOWO

Funkcja WYSZUKAJ.PIONOWO ma jedną znaczącą wadę – wyszukuje tylko wartości z pierwszej kolumnie. Czasami jednak pojawia się potrzeba zmiany tej kolumny. Zadanie to jest proste, gdy potrzeba pobrać wartości z prawej strony kolumny w której ma miejsce wyszukiwanie. Problem pojawia się w sytuacji gdy dane znajdują się po lewej stronie kolumny, w której następuje wyszukiwanie.

Najprostszym rozwiązaniem jest zmiana układu kolumn w źródle danych. Ale nie jednokrotnie operacja taka nie jest możliwa do przeprowadzenia, albo sami jej nie chcemy przeprowadzać. Taka sytuacja może mieć miejsce gdy dane pochodzą z jakiegoś systemu i mają stale ustalony układ. W celu zilustrowania tego problemu posłużę się tabelą z następującymi kolumnami:

  • Nazwa – nazwa produktu,
  • Kod  – kod produktu.

Zadanie natomiast polega na znalezieniu nazwy produktu na podstawie jego kodu.

Dane

W tym celu można zastosować dwa podejścia – wykorzystując funkcje:

  • WYSZUKAJ,
  • INDEKS i PODAJ.POZYCJĘ.

Pierwsze rozwiązanie – funkcja WYSZUKAJ – potrzebuje podania dwóch obszarów:

=WYSZUKAJ(Szukana wartość, Obszar 1, Obszar 2)

Funkcja ta wyszukuje Szukaną wartość w Obszarze 1 i następnie zwraca wartość z Obszaru 2, znajdującą się w odpowiednim wierszu. Aby funkcja ta działała prawidło musi zostać spełniony dodatkowy warunek – wartości w Obszarze 1 muszą być posortowane rosnąca. Dodatkowo funkcja ta ma wadę. Jeśli wpiszemy błędny kod to funkcja ta może zwrócić wartość niepoprawną – odpowiadającą produktowi o innym kodzie. Takie działanie jest nie poprawne i może prowadzić do błędów.

Funkcja Wyszukaj

Tego błędu nie ma drugie rozwiązanie wykorzystujące złożenie funkcji INDEKS i PODAJ.POZYCJĘ:

=INDEKS(Obszar 2; PODAJ.POZYCJĘ(Szukana wartość; Obszar 1; 0))

W tym przypadku każde błędne wpisanie kodu będzie powodowało zwrócenie błędu #N/D!. W tej sytuacji można dodać komentarz informujący i błędnym wpisaniu kodu.

 Funkcja Indeks

Plik: Przyklad.xslx

Opublikowano: 23 marzec 2009, Kategorie: Formuły , , , ,
2 Odpowiedzi do Lewostronne WYSZUKAJ.PIONOWO
  1. avatar

    Faktycznie, to rozwiązuje ten problem. Choć szkoda iż funkcja szukaj ma takie ograniczenia. Aż się prosi prosi by zrobić VBA swoją wersję funkcji szukaj. Tylko pytanie, czy można nadpisać systemową funkcję?

    Odpowiedz
    • avatar

      Nadpisać systemowej funkcji się nie da, ale zawsze można dodać nową swoją. Tylko w przypadku VBA pojawi się pytanie o włączenie makr. Czasami włączanie makr jest zablokowane. Natomiast formuła będzie działać zawsze.


[na górę]

Dodaj komentarz do SpeX Anuluj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">