Strona 1 z 1

Calc niepoprawnie przelicza wartości w komórkach

: czw wrz 25, 2014 9:06 am
autor: WindEater
Witam wszystkich serdecznie, mam taki problem:

stworzyłem sobie cennik rastrowy, który na podstawie szerokości, wysokości oraz komórek o zmienionej (przypisanej) nazwie (faktor stały, szerokość, wysokość i m kw) oblicza ceny.
Niestety formuła (algorytm) wyliczająca te ceny nie do końca działa poprawnie, chociaż przetestowałem ją już setki razy i wszystko powinno być w porządku.
Gdzie popełniłem błąd??? Wychodzę z założenia, że to moja wina a nie Calc'a...

Algorytm:
=JEŻELI(LUB(D$8*$C9/1000000<=5,8;D$8<=2700);STA+(D$8/1000*SZER)+($C9/1000*WYS)+((D$8*$C9/1000000)*MQ);STA+(D$8/1000*SZER)+($C9/1000*WYS)+((D$8*$C9/1000000)*MQMY))
gdzie poszczególne, nienazwane komórki odpowiadają szerokości (D$8) i wysokości $C9) w mm, zadanych na gorze i z boku rastra. Nazwane komórki to faktory cenowe dla poszczególnych wartości.

"prawda" powinna liczyć do 5,8m kw i do 2700 mm szerokości na podstawie komórki MQ, natomiast "fałsz" - wszystko powyżej i na podstawie komórki MQMY.

Niestety w rastrze pierwsza formuła liczy grubo ponad zadane zależności dla "prawda", tzn. ceny są poprawne dla pierwszej grupy i powyżej 5,8m kw i 2700 mm szerokości liczy również według "prawda".
Kiedy usunąłem nazwę komórki MQMY w rastrze wystąpił błąd ale dla komórek daleko z poza zakresu zadanych zależności.

Mam nadzieję, że moje wypociny są dla Was zrozumiałe.
Pomóżcie mi proszę się z tym uporać.

Pozdrawiam serdecznie, Josey

Re: Calc niepoprawnie przelicza wartości w komórkach

: czw wrz 25, 2014 11:27 am
autor: Jermor
Sądzę, że prościej byłoby to napisać tak:
STA+D$8*SZER/1000+$C9*WYS/1000+D$8*$C9/1000000*JEŻELI(LUB(D$8*$C9<=5800000;D$8<=2700);MQ;MQMY)

Re: Calc niepoprawnie przelicza wartości w komórkach

: czw wrz 25, 2014 2:03 pm
autor: Jermor
Jeszcze uwaga nt. wartości pobieranych do obliczeń.
Funkcja LUB mówi, że wartością PRAWDA będzie każda sytuacja gdy powierzchnia jest mniejsza od 5,8 m. kw. lub wartość w wierszu ósmym będzie mniejsza od 2700. Wystarczy by któryś z tych warunków był prawdziwy a pobrana będzie zmienna MQ. Jeśli zatem wartość w wierszu ósmym będzie wynosiła 1 a w kolumnie C 6.000.000 to i tak wartość wyrażenia wynosić będzie PRAWDA.
Gdy chcemy aby powierzchnia była mniejsza od 5,8 a wartość w wierszu ósmym nie przekraczała 2700 trzeba użyć funkcji I

W końcu, przy budowie takiej "rastrowej" formuły , warto wykorzystać formułę macierzową. Jeśli jesteś nią zainteresowany, daj znać na forum, to coś na ten temat napiszę.

Re: Calc niepoprawnie przelicza wartości w komórkach

: pt wrz 26, 2014 7:38 am
autor: WindEater
Witam i dziękuję ślicznie za podpowiedzi,

i sprawa jest jasna. Teraz wiem gdzie leży mój problem.
Oczywiście jestem jak najbardziej zainteresowany Twoimi podpowiedziami, ponieważ muszę się jeszcze dużo nauczyć, a "macierzy" jeszcze nie ogarniam...

Człowiek uczy się całe życie i niestety umiera głupi...

Dziękuję jeszcze raz i pozdrawiam!