•  

    Uwaga, podaję protip.
    =JEŻELI(WYSZUKAJ.PIONOWO(A2;Dane!A:A;1;1)=A2;WYSZUKAJ.PIONOWO(A2;Dane!A:B;2;1);"Brak")

    Przyśpiesza wyszukiwanie w stosunku do prostego =WYSZUKAJ.PIONOWO(A2;Dane!A:B;2;0).
    Na milionie rekordów szuka jakieś 3500 raza szybciej.

    Warunek taki, że kolumna z szukanymi danymi (A), jak i kolumny z danymi (Dane!A:B) muszą być posortowane alfabetycznie/w kolejności rosnącej.

    #excel

    •  

      @Polinik: Z tego co pamiętam INDEKS+PODAJ.POZYCJĘ ma równie wysoką wydajność, a nie dość, że nie musisz sortować, to w dodatku możesz wybrać kolumnę z lewej strony tej przeszukiwanej. O prostszej i bardziej czytelnej składni nawet nie wspomnę :)

    •  

      @DwaNiedzwiedzie:
      A nie wiem, nie korzystałem.
      Poka składnię-odpowiednik dla =WYSZUKAJ.PIONOWO(A2;Dane!A:B;2;0) to przetestuję. :D

    •  

      @Polinik: =INDEKS(Dane!B:B;PODAJ.POZYCJĘ(A1;Dane!A:A;0))
      Proponuję sprawdzić jeszcze wydajność między przeszukiwaniem całej kolumny a ograniczonego zakresu (A:A vs np. A$2:A$100000), bo to chyba też robiło różnicę.

    •  

      @Polinik: czyli jednak zamiast wybrać lepszą kawę lub herbatę postanowiłeś troszkę popracować nad szybkością obliczeń:). Sortowanie kolumny A nie ma znaczenia - gdyby była sortowana i miała dużo powtórzeń to można jeszcze to mocno zoptymalizować. Słownik musi być sortowany, a procentowy zysk nie zależy od ilości formuł tylko od rozmiaru słownika.

    •  

      postanowiłeś troszkę popracować nad szybkością obliczeń:).

      @brak_nicku:
      Czasem terminy gonią i nie można sobie pozwolić na mirkowanie pod pretekstem "sef nie ksycy i tak czekam na Excela". ( ͡° ͜ʖ ͡°)

    •  

      Sortowanie kolumny A nie ma znaczenia

      @brak_nicku: W przypadku tej konkretnej kombinacji ma kluczowe znaczenie, bo W.P są ustawione na wyszukiwanie przybliżonych wartości.

    •  

      @DwaNiedzwiedzie: może nieporozumienie wynika stąd, że kolumna A występuje dwojako w formule:
      1) kolumna z szukanymi danymi - w formule po prostu A
      2) pierwsza kolumna słownika - w formule Dane!A:B

      OP napisał, że obie muszą być posortowane. Ja napisałem wyżej, że tylko sortowanie 2) ma wpływ na wydajność tej konkretnej formuły, sortowanie 1) nie ma żadnego znaczenia.

    •  

      @brak_nicku: Faktycznie, przegapiłem ten fragment - my bad, zwracam honor :)

    •  

      @DwaNiedzwiedzie: Nie ma problemu:). Sortując kolumnę A z pkt 1) też można wiele zyskać, jeżeli wartości się powtarzają:
      =jeżeli(a2=a1;weź komórkę wyżej;formuła OP)
      Ale to zupełnie inna sprawa i tylko @Polinik może sprawdzić, czy w jego przypadku sortowanie tabeli z milionem wierszy i użycie tej wersji da zysk...