[ Pocev-od-mene @ 21.05.2012. 13:47 ] @
Pozdrav svima,
dugo nisam bio aktivan na forumu ali sam i dalje stalno pratio forum i učio :)

Imam mali problem u excelu, nedavno sam napravio programčić za računanje registracije u c++ i radi fino ali sad sam to htio prebaciti u excel i zapeo sam na istom mjestu gdje sam i onda kada sam to radio u c++ :)

evo isječak koda iz c++:
if (starost <= 2 && Ccm<= 1600) Porez = 50;
else if (starost <=2 && Ccm > 1600) Porez = 100;
else if (starost >=2 && starost <=5 && Ccm > 1600) Porez = 70;

a pokušavam to napraviti u excelu ovako:
=IF(E2<=2;IF(A2<=1600;50;IF(E2<=2;IF(A2>1600;100;IF(E2>=2;IF(E2<=5;IF(A2>1600;70)))))))


Radi dok ne napišem ovaj nastavak "IF(E2>=2;IF(E2<=5;IF(A2>1600;70" pa mislim da je problem negdje u operatorima pokušao sam sa AND i OR ali nije radilo pa ako mi neko može pomoći bio bih zahvalan.
[ 3okc @ 21.05.2012. 14:00 ] @
Verovatno ti je promakao post gde sam naveo nekoliko alternativa za višestruko grananje bez upotrebe IF.
Jednostavno je uz uslov poznavanja Bulove algebre a za rezultat se dobija mnogo čistiji i razumljiviji zapis.
[ Pocev-od-mene @ 21.05.2012. 14:07 ] @
Gledao sam ali nisam uspio opet hvala ti :)
[ djoka_l @ 21.05.2012. 14:07 ] @
Problem je i to što su uslovi postavljeni tako da ne pokrivaju sve slučajeve. Na primer:

starost=1, Ccm=1999 - ne postoji ni jedan if u koji upada
starost=2, Ccm=1700 - ispunjava i drugi i treći uslov, pa nije jasno da li je stopa 100 ili 70 procenata
startost=3, Ccm=1500 - ne ispunjava ni jedan uslov
starost=6 - ne ispunjava ni jedan uslov
[ Pocev-od-mene @ 21.05.2012. 14:12 ] @
Problem postoji ali rješenje nemogu da shvatim. :D
[ djoka_l @ 21.05.2012. 14:40 ] @
Verovatno ti je stopa zavisna od dva parametara, starosti i kubikaže. Verovatno postoji tabela u kojoj su napravljeni stupci za kubikažu i redovi za starost (ili obrnuto) i ta tabela popunjena nekim vrednostima stope. Ajde da počnemo od toga da ti ovde ostaviš jedan excel fajl u kojem ćeš da prikažeš tabelu, a da zaboravim tvoj očigledno pogrešan C program i excel formulu.
[ FOX028 @ 21.05.2012. 14:55 ] @
Mislim da ti je onaj deo koda koji si ostavio nepotpun, bas kao sto ti je i kolega djoka_l naveo, postoje slucajevi kada nijedan uslov nije ispunjen. Evo primera u Excel-u na osnovu onog koda koji si okacio ovde. A bilo bi dobro kada bi okacio excel fajl.


Citat:
djoka_l: Problem je i to što su uslovi postavljeni tako da ne pokrivaju sve slučajeve. Na primer:

starost=1, Ccm=1999 - ne postoji ni jedan if u koji upada
starost=2, Ccm=1700 - ispunjava i drugi i treći uslov, pa nije jasno da li je stopa 100 ili 70 procenata
startost=3, Ccm=1500 - ne ispunjava ni jedan uslov
starost=6 - ne ispunjava ni jedan uslov
[ Jpeca @ 21.05.2012. 15:12 ] @
U Excelu je preglednije i lakše da napraviš tabelu sa iznosima poreza u kojoj je starosne grupe u redovima, a ccm u kolonoma (ili obrnuto), kako je djoka_l već predložio.

Kad tako postaviš stvari neće moći nešto da ti promakne. Onda možeš da koristiš VLOOKUP u kombinaciji sa MATCH za pretragu po dva kriterijuma.
Detaljnije o ovom: http://www.handyexceltips.com/...rming-two-dimensional-lookups/

U prilogu je primer za tvoj slučaj gde sam dodao još jednu kolonu sa ccm da se vidi koliko je to jednostavno. Naravno neki podaci u tvom primeru fale, pa sam ih uzeo proizvoljno

[Ovu poruku je menjao Jpeca dana 21.05.2012. u 16:24 GMT+1]
[ Pocev-od-mene @ 25.05.2012. 14:30 ] @
Hvala svima uspio sam riješiti problem preko if-a, ali sam isprobao i sa vlookup i match i uspio i tako. Korisne stvari sam naučio od Vas i veliko Vam hvala.