| 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:
Zadanie natomiast polega na znalezieniu nazwy produktu na podstawie jego kodu. ![]()
W tym celu można zastosować dwa podejścia - wykorzystując funkcje: 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.
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. |
