Temat: INDEKS, PODAJ.POZYCJĘ nie wystarcza

Witam,

Próbowałem za pomocą funkcji INDEKS i PODAJ.POZYCJĘ zwrócić wartość STAWKA z poniższego zakresu:


Obrazek


...bez rezultatu.

Łączenie pól odbywa się po polach typ_pakietu i Klient, ale ponieważ są dwa progi procentowe dla każdego miesiąca musiałbym jeszcze połączyć po polu procentowym np miesiąc ->'1' z ustawieniem 'Większy niż" by uzupełnić te kolumny.


Obrazek


Czy jest to możliwe za pomocą funkcji bez posiłkowania się VB?

Jak zmusić Excel by 2 z 3 pól porównywał precyzyjnie 1:1 a trzecie tylko zakresem 'Większy niż"?Ten post został edytowany przez Autora dnia 01.09.13 o godzinie 23:15
Bogdan Gilarski

Bogdan Gilarski www.excelperfect.pl
Perfect And
Practical

Temat: INDEKS, PODAJ.POZYCJĘ nie wystarcza

Złożenie funkcji INDEKS(PODAJ.POZYCJĘ()) zwraca pojedynczą wartość dla jednego kryterium (jedna szukana). Tutaj potrzebujesz większej liczby kryteriów niż jedno, zatem masz do wyboru:
- tabelę przestawną, szybko, jak się pozna łatwo i od razu komplet wyników (dla wielu kryteriów)
- filtr - kupa zabawy, dla każdego pytania (kryteriów) ręcznie filtrujemy, nie polecam
- funkcje tablicowe lub SUMA.ILOCZYNÓW(), ale absolutnie nie nadają się do dużych zakresów liczących tysiące rekordów.

Temat: INDEKS, PODAJ.POZYCJĘ nie wystarcza

Skupiłem się na trzeciej podanej przez Ciebie opcji.
Fakt strasznie muli, ale po ograniczeniu zakresów za pomocą ADR.POŚR i PODAJ.POZYCJĘ działa względnie dobrze.

http://img706.imageshack.us/img706/5612/mn2.gif

Jak to rozwiązać?
Bogdan Gilarski

Bogdan Gilarski www.excelperfect.pl
Perfect And
Practical

Temat: INDEKS, PODAJ.POZYCJĘ nie wystarcza

Przetestuj (pisałem z palca, bez testów) taką formułe tablicową (Ctrl+Shift+Enter)
=INDEKS(AP:AP;PODAJ.POZYCJĘ(1;(A2:A100="DLD")*(L2:L100="2100")*(AD2:AD100<=21%);0))
W miejsce DLD, 2100 i 21% wpisz odwołania do odpowiednich komórek. Oczywiście zakresy do poprawki. Warunek <=21% do ewentualnej poprawki, coś mi nie gra z zaznaczonym wynikiem.
Jeżeli taka formuła miałaby być kopiowana do wielu komórek, to mulić będzie naprawdę okropnie i ...Ten post został edytowany przez Autora dnia 02.09.13 o godzinie 18:55

Temat: INDEKS, PODAJ.POZYCJĘ nie wystarcza

Dziękuję Ci za pomoc działa dokładnie jak miało.

=INDEKS(Założenia!$L$50:$L$75;PODAJ.POZYCJĘ(1;(Założenia!$E$50:$E$75=Dane!A2)*(Założenia!$D$50:$D$75=Dane!L2)*(Założenia!$H$50:$H$75<=AD2);0))


Nie rozumiem jak działa ta '1' na początku i '0' na końcu funkcji Podaj.Pozycję...
Bogdan Gilarski

Bogdan Gilarski www.excelperfect.pl
Perfect And
Practical

Temat: INDEKS, PODAJ.POZYCJĘ nie wystarcza

"0" na końcu to 3-ci arg funkcji PODAJ.POZYCJĘ() - określa sposób wyszukiwania pierwszego argumentu, w zakresie podanym jak drugi arg funkcji. "0" to sposób dokładny, czyli tutaj szukaj dokładnie wartości 1 a nie z jakiegoś przedziału.
"1" - szukaj wartości 1 w tablicy powstałej z
(Założenia!$E$50:$E$75=Dane!A2)*(Założenia!$D$50:$D$75=Dane!L2)*(Założenia!$H$50:$H$75<=AD2)
W każdym nawiasie mamy pytanie natury logicznej i w każdym nawiasie otrzymamy ciąg odpowiedzi PRAWDA/FAŁSZ (po zatwierdzeniu obliczeń jako tablicowe).
Trzy "nawiasy" - trzy tablice, które należy przemnozyć przez siebie. Po tej operacji (mnożenia tablic z wartościami logicznymi) otrzymamy jedną tablicę z wartościami matematycznymi 0/1.
Szukamy w takiej tablicy pierwszej jedynki ponieważ oznacza ona, że trzy razy spełnione są kryteria zawarte w pytaniach logicznych.
Na przykład jeżeli otrzymamy
{0;0;1;0;0,...}
oznacza to, że na trzecim miejscu, we wszystkich tablicach były wartości PRAWDA, czyli znaleziono rekord w tabeli (trzeci rekord tabeli -> wiersz zakresu), w którym spełniony jest każdy z warunków zawartych w nawiasach.

Następna dyskusja:

Podaj pozycję




Wyślij zaproszenie do