Dominik N.

Dominik N. EMEA Distribution
Planning Manager

Temat: wyszukiwanie wartości z przedziału

pytanie może proste, ale nie daje mi ostatnio spokoju... mamy sytuację gdzie:
- zmienna X jest powiedzmy ze zbioru N;
- w zależności od wartości X mamy tablicę, która przedziałami pokazuje nam % wzrost wskaźnika, np: jeśli 0<X<3 to 1%, jeżeli 3<X<6 to 2% i tak dalej.. powiedzmy mamy taki przedziałów 200... oczywiście przedziały są matematycznie poprawne, nie ma części wspolnych dla 2 przedziałów itp

Jak wykonać zadanie, w którym w zależności od X (który będziemy np zmieniać za pomocą paska od 0 do 1000) funkcja sprawdzała, w którym przedziale znajduje się X i zwracała % przypisany dla tego przedziału? Można to teoretycznie zrobić za pomocą if i vlookup, ale zapętlić to można max 7 razy chyba... ma ktoś jakiś pomysł, funkcje tablicowe może?
Pozdrawiam,
Dominik
Katarzyna M.

Katarzyna M. w oczekiwaniu na
kolejny urlop

Temat: wyszukiwanie wartości z przedziału

Jeśli X faktycznie byłoby ze zbioru N w zakresie 0-1000 - czyli mamy zdefiniowaną wielkość zbioru (1001 elementów), to możnaby to zrobić trochę na siłę.

W kolumnie wpisujemy wartości % odpowiadające danej liczbie tzn. korzystając z powyższego przykładu byłoby to:

1%
1%
1%
2%
2%
2%
itd.

Wtedy wybrana liczba x jest numerem wiersza, który mamy znaleźć w naszej kolumnie.
Janusz K.

Janusz K. Ekspert rozwoju i
przyszłości firm,
struktur, systemów
or...

Temat: wyszukiwanie wartości z przedziału

Z podanych wartości wynika, że jeśli grupujesz po 3 liczby, aby dla takiej grupy przyporządkować jakiś parametr, a liczb masz 1001, to potrzebne Ci jest trochę więcej grup, niż 200..
Czy masz jakiś algorytm grupowania, jeśli w grupie może być więcej elementów, niż 3?
I pomysł z paskiem, przy takiej liczebności, nie jest dobry.
Lepiej zwyczajnie wpisać w komórkę daną liczbę..
Można byłoby napisać procedurę VB, ale chyba prościej będzie Ci zrobić przycisk, wykonujący makro oparte o polecenie "Wyszukaj"...
Piotr G.

Piotr G. kontroler finansowy,
Monarcha i Wspólnicy
ETL Poznań Sp. ...

Temat: wyszukiwanie wartości z przedziału

Rozwiązanie może nie najładniejsze, ale skuteczne. Właśnie za pomocą jeżeli i wyszukaj pionowo.

Zakładając, że przedziały mamy podane w tablicy takiej:
wiersze - poszczególne przedziały (od 1 do 200)
kolumna A - minimum przedziału
kolumna B - maksimum przedziału
kolumna C - wstawiłbym tu nową (dla funkcji poniżej)
kolumna D - % wzrost wskaźnika
komórka np. E1 - określa daną wartość X

to dodałbym kolumnę C i wpisał tam taką formułę (w wierszu 2):
=JEŻELI(ORAZ(E1>A2;E1<B2)=PRAWDA;1;0)
formuła ta zwróci 1 jeżeli X będzie się zawierał w danym przedziale, lub 0 jeżeli tu go nie będzie.
To skopiowałbym przez 200 wierszy (tyle ile przedziałów)
Później użyłbym funkcji wyszukaj pionowo i szukał 1 w kolumne
C i zwrócił dla niej przypisany % z kolumny D

Oczywiście przedziały muszą być zamknięte, bo według danych, które podałeś (i tak jest mój przykład) liczbie 3 nie jest przypisany żaden procent.

Pozdrawiam
gazdaPiotr G. edytował(a) ten post dnia 02.10.08 o godzinie 21:42
Janusz K.

Janusz K. Ekspert rozwoju i
przyszłości firm,
struktur, systemów
or...

Temat: wyszukiwanie wartości z przedziału

Jeżeli jest tak, jak piszesz - że masz liczby od 0 do 1000, grupowane zawsze po 3, a te wskaźniki rosną o 1 pp dla każdej grupy, to poszukiwaną przez Ciebie wartość tego wskaźnika (%%) otrzymasz, dzieląc wybraną liczbę przez 3 i wynik zaokrąglając do góry do pełnej liczby.
Napisz sobie taką funkcję, nagraj makro, przypisz je do przycisku - i masz problem rozwiązany.. ;-))

Precyzując - funkcja ma badać, czy z dzielenia (X:3) pozostaje reszta - i jeśli tak, to ma zaokrąglać do góry.
Aha - dla wartości "0" musisz podać sztywny wynik, ale to drobiazg..Janusz K. edytował(a) ten post dnia 02.10.08 o godzinie 22:05

konto usunięte

Temat: wyszukiwanie wartości z przedziału

Witaj Dominik,
Jeżeli funkcja jest prosta do ułożenia to najprościej:
w komórkę A1 wpisujesz wartość X
=JEŻELI(A1>0;ZAOKR.GÓRA(A1/3;0);1)

Pozdr
Paweł
Dominik N.

Dominik N. EMEA Distribution
Planning Manager

Temat: wyszukiwanie wartości z przedziału

podane przeze mnie przedziały są śliczne i równe tylko i wyłącznie przypadkowo (powinienem odrazu założyć gorszy przypadek, sorki)... zastanawiam się nad rozwiązaniem wyszukującym wartość należącą do przedziały, spośród n przedziałów, powiedzmy, że niekoniecznie równych - sytuacja kiepska, ale ostatnio mnie spotkała i wierze, ze excel i z tym da radę... tylko jak...
pozdrawiam,
D.

Paweł L.:
Witaj Dominik,
Jeżeli funkcja jest prosta do ułożenia to najprościej:
w komórkę A1 wpisujesz wartość X
=JEŻELI(A1>0;ZAOKR.GÓRA(A1/3;0);1)

Pozdr
Paweł
Janusz K.

Janusz K. Ekspert rozwoju i
przyszłości firm,
struktur, systemów
or...

Temat: wyszukiwanie wartości z przedziału

Jeżeli nie masz algorytmu tworzenia grup i skoku wskaźnika, to tylko metodą wyszukiwania wartości w kolumnie z wartościami liczbowymi. W ten sposób wynik otrzymasz w kolumnie ze wskaźnikami.
Pisała o tym Kasia.
Dominik N.

Dominik N. EMEA Distribution
Planning Manager

Temat: wyszukiwanie wartości z przedziału

działa, dokładnie o to chodziło.
dziękuję i pozdrawiam,
Dominik

Piotr G.:
Rozwiązanie może nie najładniejsze, ale skuteczne. Właśnie za pomocą jeżeli i wyszukaj pionowo.

Zakładając, że przedziały mamy podane w tablicy takiej:
wiersze - poszczególne przedziały (od 1 do 200)
kolumna A - minimum przedziału
kolumna B - maksimum przedziału
kolumna C - wstawiłbym tu nową (dla funkcji poniżej)
kolumna D - % wzrost wskaźnika
komórka np. E1 - określa daną wartość X

to dodałbym kolumnę C i wpisał tam taką formułę (w wierszu 2):
=JEŻELI(ORAZ(E1>A2;E1<B2)=PRAWDA;1;0)
formuła ta zwróci 1 jeżeli X będzie się zawierał w danym przedziale, lub 0 jeżeli tu go nie będzie.
To skopiowałbym przez 200 wierszy (tyle ile przedziałów)
Później użyłbym funkcji wyszukaj pionowo i szukał 1 w kolumne
C i zwrócił dla niej przypisany % z kolumny D

Oczywiście przedziały muszą być zamknięte, bo według danych, które podałeś (i tak jest mój przykład) liczbie 3 nie jest przypisany żaden procent.

Pozdrawiam
gazdaPiotr G. edytował(a) ten post dnia 02.10.08 o godzinie 21:42

konto usunięte

Temat: wyszukiwanie wartości z przedziału

Dokładnie tak,
Definiujesz tabelę z zakresami i opowiadającymi im %, wyszykujesz po zakresie i zwraca Ci %
powodzenia!

Widzę, że już Ci się udało :)Paweł L. edytował(a) ten post dnia 03.10.08 o godzinie 09:39
Tomasz Gawęda

Tomasz Gawęda Kierownik Zakładu
Produkcyjnego

Temat: wyszukiwanie wartości z przedziału

A bez JEŻELI też można ... =WYSZUKAJ.PIONOWO(E1;A:D;4;1)

Założenia jak w przykładzie Piotra (bez kolumny C, B też nie jest potrzebna):
kolumna A - minimum przedziału
kolumna B - maksimum przedziału
kolumna D - % wzrost wskaźnika
E1 - określa daną wartość X
Dominik N.

Dominik N. EMEA Distribution
Planning Manager

Temat: wyszukiwanie wartości z przedziału

Tomasz Gawęda:
A bez JEŻELI też można ... =WYSZUKAJ.PIONOWO(E1;A:D;4;1)

Założenia jak w przykładzie Piotra (bez kolumny C, B też nie jest potrzebna):
kolumna A - minimum przedziału
kolumna B - maksimum przedziału
kolumna D - % wzrost wskaźnika
E1 - określa daną wartość X

no właśnie nie bardzo, bo wysz. pionowo nie znajdzie danej "zawartej" w przedziale, a nie widocznej fizycznie w pliku... jeśli czegoś nie mylę...
Dominik N.

Dominik N. EMEA Distribution
Planning Manager

Temat: wyszukiwanie wartości z przedziału

dzięki ;)
pozdrowionka,
D.

Paweł L.:
Dokładnie tak,
Definiujesz tabelę z zakresami i opowiadającymi im %, wyszykujesz po zakresie i zwraca Ci %
powodzenia!

Widzę, że już Ci się udało :)Paweł L. edytował(a) ten post dnia 03.10.08 o godzinie 09:39
Tomasz Gawęda

Tomasz Gawęda Kierownik Zakładu
Produkcyjnego

Temat: wyszukiwanie wartości z przedziału

Dominik Niemczyk:
no właśnie nie bardzo, bo wysz. pionowo nie znajdzie danej "zawartej" w przedziale, a nie widocznej fizycznie w pliku...

Help mówi:

Składnia

WYSZUKAJ.PIONOWO(odniesienie;tablica;nr_kolumny;kolumna)

.....

Kolumna to wartość logiczna określająca, czy funkcja WYSZUKAJ.PIONOWO ma znaleźć dokładne czy też przybliżone dopasowanie. Jeśli argument ten ma wartość PRAWDA bądź został pominięty, zwracane jest przybliżone dopasowanie. Innymi słowy, jeśli nie zostanie znalezione dokładne dopasowanie, zwracana jest następna największa wartość, mniejsza od argumentu odniesienie. Jeśli argument ma wartość FAŁSZ, funkcja WYSZUKAJ.PIONOWO wyszuka dopasowanie dokładne. Jeśli nie zostanie ono znalezione, funkcja zwraca wartość błędu #N/D!.

PRAWDA=1
FAŁSZ=0
Dominik N.

Dominik N. EMEA Distribution
Planning Manager

Temat: wyszukiwanie wartości z przedziału

rzeczywiście - masz rację! zapomniałem o 0/1 w wyszukaj pionowo, a może po prostu nigdy tak naprawdę nie rozumiałem zastosowania tego elementu funkcji.
tak więc zwracam homor i dzięki za podpowiedz...
D.
Tomasz Gawęda:
Dominik Niemczyk:
no właśnie nie bardzo, bo wysz. pionowo nie znajdzie danej "zawartej" w przedziale, a nie widocznej fizycznie w pliku...

Help mówi:

Składnia

WYSZUKAJ.PIONOWO(odniesienie;tablica;nr_kolumny;kolumna)

.....

Kolumna to wartość logiczna określająca, czy funkcja WYSZUKAJ.PIONOWO ma znaleźć dokładne czy też przybliżone dopasowanie. Jeśli argument ten ma wartość PRAWDA bądź został pominięty, zwracane jest przybliżone dopasowanie. Innymi słowy, jeśli nie zostanie znalezione dokładne dopasowanie, zwracana jest następna największa wartość, mniejsza od argumentu odniesienie. Jeśli argument ma wartość FAŁSZ, funkcja WYSZUKAJ.PIONOWO wyszuka dopasowanie dokładne. Jeśli nie zostanie ono znalezione, funkcja zwraca wartość błędu #N/D!.

PRAWDA=1
FAŁSZ=0
Janusz K.

Janusz K. Ekspert rozwoju i
przyszłości firm,
struktur, systemów
or...

Temat: wyszukiwanie wartości z przedziału

W Excelu '97 składnia jest inna:
=WYSZUKAJ.PIONOWO(sprawdzana_wart;tablica;nr_kolumny;sposób)

w Excelu 2007:
=WYSZUKAJ.PIONOWO(szukana_wartość;tabela_tablica;nr_indeksu_kolumny;przeszukiwany_zakres)

co nie zmienia charakteru argumentów...
Tomasz Gawęda

Tomasz Gawęda Kierownik Zakładu
Produkcyjnego

Temat: wyszukiwanie wartości z przedziału

MS ma rozdzwojenie jaźni - co innego wyświetla się kiedy wprowadzasz funkcję, co innego jest w helpie, a oficjalne strony MS... ;)

http://office.microsoft.com/pl-pl/excel/HP052093351045...

http://office.microsoft.com/pl-pl/excel/HP100698351045...

Dlatego zaznaczyłem, że

>Help mówi:
Janusz K.

Janusz K. Ekspert rozwoju i
przyszłości firm,
struktur, systemów
or...

Temat: wyszukiwanie wartości z przedziału

Terminologia nie jest tu najistotniejsza - zresztą zmienia się od wersji 4.0.. :)
Sama funkcja ma jednak tę samą treść i wymagania co do argumentów.
Dość zresztą, w tym wypadku, wygodne.
Marek Skulski

Marek Skulski Administrator
Biznesowy EBS Oracle
Financials w Grupie
PZU

Temat: wyszukiwanie wartości z przedziału

Proponuję najprostsze rozwiązanie:
zapomniana funkcja Wyszukaj zwróci wartośc z kolumny B dla każdej najblizszej wartości nie wiekszej niż wprowadzona w kolumnie A:

np: Wyszukaj(C1;A5:B5)
kol_A kol_B
0 a
5 b
13 c
17 d
34 e

czyli a = <0;5), b=<5;13), itd...

Jeśli ma nie być luk w przedziałach, to funkcja działa idealnie.
Paweł Długołędzki

Paweł Długołędzki Programista Java

Temat: wyszukiwanie wartości z przedziału

czytając wszystkie posty, można stwierdzić że jest to rozwiązanie najbardziej elastyczne i najlepsze. daje duże możliwości.
Piotr G.:
Zakładając, że przedziały mamy podane w tablicy takiej:
wiersze - poszczególne przedziały (od 1 do 200)
kolumna A - minimum przedziału
kolumna B - maksimum przedziału
kolumna C - wstawiłbym tu nową (dla funkcji poniżej)
kolumna D - % wzrost wskaźnika
komórka np. E1 - określa daną wartość X

to dodałbym kolumnę C i wpisał tam taką formułę (w wierszu 2):
=JEŻELI(ORAZ(E1>A2;E1<B2)=PRAWDA;1;0)
formuła ta zwróci 1 jeżeli X będzie się zawierał w danym przedziale, lub 0 jeżeli tu go nie będzie.
To skopiowałbym przez 200 wierszy (tyle ile przedziałów)
Później użyłbym funkcji wyszukaj pionowo i szukał 1 w kolumne
C i zwrócił dla niej przypisany % z kolumny D

Oczywiście przedziały muszą być zamknięte

Następna dyskusja:

zaawansowane wyszukiwanie w...




Wyślij zaproszenie do