Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

EXCEL - wyszukaj.pionowo, dla kryteriów

jomsborczyk 16 Kwi 2015 20:22 588 8
  • #1 16 Kwi 2015 20:22
    jomsborczyk
    Poziom 6  

    Witam, mam mały problem ze zbudowaniem formuły wyszukaj.pionowo dla dwóch zakresów. Mam 3 kolumny: A:'kod od', B:'kod do', oraz C:'wynik'.
    A i B określają tylko zakresy, które rozwinąłem. Teraz każdej wartości z osobna muszę przypisać wartość 'wynik'.
    Kombinuję z różnymi funkcjami tablicowymi, które sprawdzałyby czy >= dla A oraz czy <= dla B, ale nic nie wychodzi.
    Wzór problemu w załączniku.

    0 8
  • #2 16 Kwi 2015 20:40
    JRV
    Specjalista - VBA, Excel

    Witaj.
    Jak wiele z tych X Y Z? Jeśli nie, możesz zrobić 'Jeżeli'

    0
  • #3 16 Kwi 2015 20:43
    jomsborczyk
    Poziom 6  

    Zbyt dużo na 'jeżeli", do tego zakresy się powtarzają, np 1-50 : X, 250-360: X.

    0
  • #4 16 Kwi 2015 20:52
    JRV
    Specjalista - VBA, Excel

    W kryteria są luki? np. 1...50, 53....70, 75...80
    Jeśli nie, to całkiem jedną kolumna z kryteriów i standardowe funkcje wyszukaj.pionowo

    0
  • Pomocny post
    #5 16 Kwi 2015 20:52
    dt1
    Moderator - Komputery Serwis

    Można wykorzystać ciekawą właściwość funkcji podaj.pozycję - jeśli typ wyszukiwania ustawimy równy 1 to będzie ona wyszukiwać najbliższego wyniku mniejszego niż szukany.

    Tak więc przy obecnym układzie można wypróbować coś takiego (dla komórki F2):

    Code:
    =INDEKS($C$2:$C$4;PODAJ.POZYCJĘ(E2;$A$2:$A$4;1))


    I rozciągnąć w dół. Oczywiście można z takiej formy skorzystać dla większej niż 3 liczby przedziałów. Wadą tego rozwiązania jest to, że wpisanie liczny poza szukanym zakresem wygeneruje błąd (jeśli będzie poniżej zakresu, na przykład dla liczby 0), ewentualnie przypisze błędnie wynik z ostatniego przedziału, jeśli wartość przekroczy zakres trzeciego przedziału (na przykład liczba 700 - funkcja sprawdza tylko dół przedziału). Oczywiście mankamenty można naprawić dodatkowym warunkiem. Również zakresy powinny być ciągłe.

    2
  • #6 16 Kwi 2015 20:55
    jomsborczyk
    Poziom 6  

    Bardziej wycięte komórki, kodów generalnie jest 99999. :) Naprzemiennych zakresów ok 4000, dla około 30 różnych wyników.

    0
  • Pomocny post
    #7 16 Kwi 2015 21:07
    adamas_nt
    Moderator Programowanie

    Spróbuj WYSZUKAJ.PIONOWO z ostatnim argumentem TRUE, Np

    =WYSZUKAJ.PIONOWO(E2;A:C;3;1)

    Uwaga: Tabelka musi być posortowana wg kolumny 'A'.

    1
  • #8 16 Kwi 2015 21:38
    jomsborczyk
    Poziom 6  

    dt1 & adamas_nt obie działają. Druga zabija prostotą :D Dzięki!

    0
  • #9 16 Kwi 2015 23:25
    marek003
    Poziom 40  

    Zabiorę nieproszony głos.
    Do autora topiku:
    Jeżeli ktoś Ci pomógł wciśnij mu "Pomógł". (Tylko Ty, po zalogowaniu, widzisz takie przyciski przy wypowiedziach)
    Ciebie to nic nie kosztuje natomiast "Pomagier" dostanie pewne (uznane na forum) "gratisy".

    0