tref  Dołączył: 05 Wrz 2006
excel - pomocy
tak, jako zapalony tabelkowicz robię pewne upierdliwe zestawienie i mam problem, którego wczesniej nie spotkałem. Otóż, piszę w excelu formułę i... jest ona troszkę długaśna [a to dopiero połowa]. Wywala mi błąd. Formuła sama w sobie jest ok, zagnieżdżam kolejne JEŻELI. Pierwsze osiem jest ok, ale jak wpisuję dziewiąty raz krzyczy błąd.
Nasuwa mi się taka myśl: ograniczenie ilości znaków w formule. Ktoś wie, ile cwane chłopy z MS przeznaczyły znaków na długość formuły?


Moja formuła [to co wytłuszczone powoduje błąd]
Cytat
=JEŻELI(AA18<AE6;"1";JEŻELI(AE6<AA18<AF6;"2";JEŻELI(AF6<AA18<AG6;"3";
JEŻELI(AG6<AA18<AH6;"4";JEŻELI(AH6<AA18<AI6;"5";JEŻELI(AI6<AA18<AJ6;"6"; JEŻELI(AJ6<AA18<AK6;"7";JEŻELI(AK6<AA18<AL6;"8";
JEŻELI(AL6<AA18<AM6;"9")))))))))


aha, znalazłem w wersji 2007 długość zawartości formuly ma 1024 znaki. Nie wiem ile w starszych wersjach, ktoś wie?

Jakiś pomysł na to jak przypisać wartości 1,2,3,4,5,6.... do 13 dla zakresów
0-0,25->1
0,26-0,5->2
0,51-075->3
itd
???

 

milo  Dołączył: 01 Sie 2006
tref, nie pamietam ile, - byc moze jest to 8 - ale w Exelu jest ograniczenie w zagniezdzaniu f-cji JEZELI.
 

Cobretti  Dołączył: 06 Lut 2007
jaki numer błędu, co konkretnie woła?
a nie brakuje Ci tam jednego parametru gdy warunek nie jest spelniony?
 

tref  Dołączył: 05 Wrz 2006
dopóki piszę do ósmego jeżeli włącznie to mogę zamknąć formułę i coś liczy. Jak dopisuję kolejne jeżeli krzyczy błąd [aha i już nie koloruje komórek w tym 9tym jeżeli jak to zwykle robi.]
błąd standard:

 

plwk  Dołączył: 21 Kwi 2006
Miałem kiedyś podobny problem to skorzystałem z komórek pośrednich z wynikiem cząstkowym.
 

Cobretti  Dołączył: 06 Lut 2007
jak utkniesz zrób trzynaście komórek wstawiajacych 0 lub liczbę - każda testuje jeden warunek, a potem sumuj te trzynaście komórek co da wynik - bo tylko jedna będzie ustawiona na właściwą wartość, inne będą zerowe

a może OpenOffice?
 

milo  Dołączył: 01 Sie 2006
Poszukalem i wychodzi na to ze w exelu jest ograniczenie do 7 f-cji zagniezdzonych w f-cji JEZELI. Juz wiesz skad ten problem.
 

Ryszard  Dołączył: 04 Paź 2006
tref, trochę przekombinowałeś ;-) Jeżeli te przedziały są symetryczne i zawsze "rozpięte" co 0,25 to wystarczy pomnożyć argument przez 4 i skorzystać z funkcji zaokrąglania. Powodzenia!
 

tref  Dołączył: 05 Wrz 2006
Cobretti, dwie złote myśli w jednym poście, dzięki! :-D

[ Dodano: 2007-06-03, 21:29 ]
Ryszard, wiesz co, siedzę nad tabelkowaniem od samego rana, mam dość, arkuszy mi się namnożyło do 31, każdy ma po kilka ekranów. A na dodatek nie rozumiem co mi napisałeś :roll: chyba czas na piknik.
 

Jarek Dabrowski  Dołączył: 20 Kwi 2006
tref napisał/a:
Jakiś pomysł na to jak przypisać wartości 1,2,3,4,5,6.... do 13 dla zakresów
0-0,25->1
0,26-0,5->2
0,51-075->3


szukasz funkcji y=f(x), gdzie Twoje x to te 0, 0.01.... itd

w angielskim excelu to będzie
y=ROUNDUP(x / $B$1, 0)

w komórce B1 jest 0.25 (co tyle musisz "przekręcić" licznik). Jedna wada - dla zera wynik jest zero (ma byc jeden), ale nie chciało mi się więcej myśleć :)
 

Ryszard  Dołączył: 04 Paź 2006
tref napisał/a:
A na dodatek nie rozumiem co mi napisałeś :roll:

Może to tak nie wygląda, ale Jarek Dabrowski właśnie wytłumaczył! :lol: :lol: :lol:
Może lepiej piknik? ;-)
 

tref  Dołączył: 05 Wrz 2006
jeszcze raz, już totalnie nie myślę dziś, kucze

mam ciąg:
1 | 2 |2.4 | 1.9 | 2 |1 |2 |1 |1 |1 |1 |1.1 | 3.3

max liczbą z tego ciągu jest 3.3. Dzielę zatem na 13 przedziałów [bo tyle jest elementów], wychodzi, że każdy ma 0.254 "szerokości". Kolejne przedziały zostają oznaczone wagami:
0 - 0,25->waga = 1
0,26 - 0,5->waga = 2
0,51 - 075->waga = 3

No i teraz potrzebuję każdemu z elementów tego ciągu przypisać wagę odpowiadającą przedzialowi, do którego wpadł, tzn.
element 3.3 powinien dostać wagę 13, ponieważ jest najstarszy i wpadł do ostatniego przedziału [3.046 - 3.3],
element 1 dostaje wagę 1 ponieważ wpadł do przedziału 0-0.25

Ponieważ jest kilka elemetów 1 to dostaną te same wagi, nie wszystkie przedziały uszą mieć reprezentanta, zależy to od danych [elementów ciągu]

jak to zrobić?

efff, nie wiem czy to jasno napisałem, ale proszę o odpowiedzi jak krowie na miedzy, bo jestem dziś totalnie bezmyślny.
dzięki :!:

:-D
 

LukD  Dołączył: 25 Wrz 2006
spróbuj
=ZAOKR.W.DÓŁ(A1*4;1)+1

pozdr.
 

Jarek Dabrowski  Dołączył: 20 Kwi 2006
Czy moja rada zadziałała?
 

Lento Violento  Dołączył: 13 Kwi 2010
Re: excel - pomocy
tref napisał/a:



Moja formuła [to co wytłuszczone powoduje błąd]
Cytat
=JEŻELI(AA18<AE6;"1";JEŻELI(AE6<AA18<AF6;"2";JEŻELI(AF6<AA18<AG6;"3";
JEŻELI(AG6<AA18<AH6;"4";JEŻELI(AH6<AA18<AI6;"5";JEŻELI(AI6<AA18<AJ6;"6"; JEŻELI(AJ6<AA18<AK6;"7";JEŻELI(AK6<AA18<AL6;"8";
JEŻELI(AL6<AA18<AM6;"9")))))))))


aha, znalazłem w wersji 2007 długość zawartości formuly ma 1024 znaki. Nie wiem ile w starszych wersjach, ktoś wie?

Jakiś pomysł na to jak przypisać wartości 1,2,3,4,5,6.... do 13 dla zakresów
0-0,25->1
0,26-0,5->2
0,51-075->3
itd
???


Jest na to prosty sposób: za pomocą formuły wyszukaj.pionowo, tylko należy pamiętać, aby w przeszukiwanym zakresie nie podawać dokładnego dopasowania, trzeba więc wpisać PRAWDA (najlepsze dopasowanie) lub nic nie wpisywać. Wtedy waga zostanie przypisana do właściwego przedziału.

Lepiej późno niż wcale :mrgreen:
 
j@m@l  Dołączył: 05 Lip 2010
Odkopię trochę temat , bo widze że są tu eksperci , potrzebuje zrobić w excelu taką tabelę , robię sobie w jednej kolumnie od góry do dołu dodawanie pewnych kwot są to kwoty od zera do kilku tysięcy na dole kolumny mam sume wszystkich kwot to już mam , ale teraz bym chciał aby excel w jakis sposób obok w tabeli zrobił mi zestawienie gotówki , czyli ile jakich banknotów oraz monet potrzebuje aby wyplacić wszystkie te kwoty , musiał by mi zliczyć 100 ,50 ,20 ,10 itd.
 

jitt  Dołączył: 07 Mar 2008
nie mam excela ale pod hasłem excel nominały znalazłem coś takiego
=INT(A1/200)&" x200PLN, "&INT(MOD(A1;200)/100)&" x 100PLN, "&INT(MOD(A1;100)/50)&" x 50PLN, "&INT(MOD(A1;50)/20)&" x 20PLN, "&INT(MOD(A1;20)/10)&" x 10PLN, "&INT(MOD(A1;10)/5)&"x5 PLN, "&INT(MOD(A1;5))&" x 1PLN, "&INT(MOD(A1;1)/0,5)&" x 50gr, "&INT(MOD(A1;0,5)/0,2)&" x 20 gr, "&INT(MOD(A1;0,2)/0,1)&" x 10 gr, "&INT(MOD(A1;0,1)/0,05)&" x 5 gr, "&INT(MOD((A1-INT(A1));0,05)/0,02)&" x 2 gr, "&INT(MOD((A1-INT(A1));0,02)/0,01)&"x 1gr."
 
j@m@l  Dołączył: 05 Lip 2010
no ja też używam głównie LibreOffice ,lecz w pracy mam Excela no i większość pewnie też ,dlatego pisze o Excelu , a po drugie wszystko jest niemal identyczne.

Dobra ale co mam teraz z tą formułą zrobić ....
 

opiszon  Dołączył: 29 Sty 2008
wkleić do dowolnego pola, zamiast wartości A1 postawić adres komórki którą chcesz "rozwiązywać" tym problemem

niestety w zlokalizowanej, polskiej wersji Excela funkcja INT została nazwana ZAOKR.DO.CAŁK więc prawidłowa formuła to:
=ZAOKR.DO.CAŁK(A1/200)&" x200PLN, "&ZAOKR.DO.CAŁK(MOD(A1;200)/100)&" x 100PLN, "&ZAOKR.DO.CAŁK(MOD(A1;100)/50)&" x 50PLN, "&ZAOKR.DO.CAŁK(MOD(A1;50)/20)&" x 20PLN, "&ZAOKR.DO.CAŁK(MOD(A1;20)/10)&" x 10PLN, "&ZAOKR.DO.CAŁK(MOD(A1;10)/5)&"x5 PLN, "&ZAOKR.DO.CAŁK(MOD(A1;5))&" x 1PLN, "&ZAOKR.DO.CAŁK(MOD(A1;1)/0,5)&" x 50gr, "&ZAOKR.DO.CAŁK(MOD(A1;0,5)/0,2)&" x 20 gr, "&ZAOKR.DO.CAŁK(MOD(A1;0,2)/0,1)&" x 10 gr, "&ZAOKR.DO.CAŁK(MOD(A1;0,1)/0,05)&" x 5 gr, "&ZAOKR.DO.CAŁK(MOD((A1-ZAOKR.DO.CAŁK(A1));0,05)/0,02)&" x 2 gr, "&ZAOKR.DO.CAŁK(MOD((A1-ZAOKR.DO.CAŁK(A1));0,02)/0,01)&"x 1gr."


w wyniku dostaniesz string w formie
"5x 200PLN, 1x100PLN, 1x50PLN, ..." aż do 0.01 PLN
//z tą formułą jest taki problem, że dla odpowiednio dużej liczby zaokrągla grosze w górę - np kwotę 120533,51 potraktuje jako 120533,60; może tam się kryje jakaś magia, ale nie chce mi się szukać


natomiast jeżeli chciałbyś wyniki dla poszczególnych nominałów mieć w osobnych polach, a nie jako jeden długi string, to trzeba tą formułę rozbić na części które powstawiasz do różnych komórek

w każdym wierszu masz formułę do kolejnego nominału
=ZAOKR.DO.CAŁK(A1/200)

=ZAOKR.DO.CAŁK(MOD(A1;200)/100)
=ZAOKR.DO.CAŁK(MOD(A1;100)/50)
=ZAOKR.DO.CAŁK(MOD(A1;50)/20)
=ZAOKR.DO.CAŁK(MOD(A1;20)/10)
=ZAOKR.DO.CAŁK(MOD(A1;10)/5)
=ZAOKR.DO.CAŁK(MOD(A1;5))
=ZAOKR.DO.CAŁK(MOD(A1;1)/0,5)
=ZAOKR.DO.CAŁK(MOD(A1;0,5)/0,2)
=ZAOKR.DO.CAŁK(MOD(A1;0,2)/0,1)
=ZAOKR.DO.CAŁK(MOD(A1;0,1)/0,05)
=ZAOKR.DO.CAŁK(MOD((A1-ZAOKR.DO.CAŁK(A1));0,05)/0,02)
=ZAOKR.DO.CAŁK(MOD((A1-ZAOKR.DO.CAŁK(A1));0,02)/0,01)

 

arQ  Dołączył: 10 Mar 2011
małym OT
opiszon napisał/a:
w zlokalizowanej, polskiej wersji Excela funkcja INT została nazwana ZAOKR.DO.CAŁK
brawo tłumacze :roll:

Wyświetl posty z ostatnich:
Skocz do:
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach