< návrat zpět
MS Excel
Téma: ZAOKROUHLOVÁNÍ PODLE VÍCE PODMÍNEK
Zaslal/a cyklokropac 28.2.2017 9:32
Dobrý den, prosím zkušené o pomoc se vzorcem, který vynásobí číslo v sousední buňce např. číslem 1,74 a výsledek zaokrouhlí podle podmínek: pokud je výsledek menší než 10, nezaokrouhlovat,větší než 10 a menší než 100 zaokr. na desítky dolů, nad 100 na desítky, nad 1000 na stovky. Děkuji
Pavlus(28.2.2017 10:22)#035159 Jedno z řešení je přes funkci KDYŽ, kde podmínkou bude délka (počet číslic) celé části výsledku (funkce DÉLKA a CELÁ.ČÁST, pro ošetření záporných čísel lze ještě využít funkci ABS). Případně může být podmínkou přímo výsledek...
K zaokrouhlování lze pak využít funkci ZAOKROUHLIT, k zaokrouhlení na desítky dolů funkci ZAOKR.DOLŮ.
P.
Např.:
=KDYŽ(DÉLKA(CELÁ.ČÁST(ABS(A1*1,74)))<2;A1*1,74;KDYŽ(DÉLKA(CELÁ.ČÁST(ABS(A1*1,74)))<3;ZAOKR.DOLŮ(A1*1,74;10);KDYŽ(DÉLKA(CELÁ.ČÁST(ABS(A1*1,74)))<4;ZAOKROUHLIT(A1*1,74;-1);ZAOKROUHLIT(A1*1,74;-2))))nebo podmínkou přímo výsledek:
=KDYŽ(ABS(A1*1,74)<10;A1*1,74;KDYŽ(ABS(A1*1,74)<100;ZAOKR.DOLŮ(A1*1,74;10);KDYŽ(ABS(A1*1,74)<1000;ZAOKROUHLIT(A1*1,74;-1);ZAOKROUHLIT(A1*1,74;-2))))řešení s funkcí ZVOLIT:
=ZVOLIT(KDYŽ(ABS(A1*1,74)<10;1;KDYŽ(ABS(A1*1,74)<100;2;KDYŽ(ABS(A1*1,74)<1000;3;4)));A1*1,74;ZAOKR.DOLŮ(A1*1,74;10);ZAOKROUHLIT(A1*1,74;-1);ZAOKROUHLIT(A1*1,74;-2))citovat
eLCHa(28.2.2017 11:15)#035160 Cesta
Zaokrouhluji i čísla menší než 10 a to na celé číslo dolů. Pokud to nechcete, musíte si ošetřit. Záporná čísla neřeším.
V C1 je číslo, které chcete zaokrouhlit
=KDYŽ(C1<100;ZAOKR.DOLŮ(C1;10^USEKNOUT(LOG(C1)));ZAOKROUHLIT(C1;-(USEKNOUT(LOG(C1))-1)))citovat
marjankaj(28.2.2017 11:50)#035162 =IFERROR(CHOOSE(MIN(INT(LOG(1,74*A1))+1;4);1,74*A1;ROUNDDOWN(1,74*A1;-1);ROUND(1,74*A1;-1);ROUND(1,74*A1;-2));A1)
alebo takto
=IF((A1*1,74)<10;(A1*1,74);ROUND((A1*1,74)-5*((A1*1,74)<100);IF((A1*1,74)<1000;-1;-2)))
prípadne ak v A1 je to už prenásobené
=IF(A1<10;A1;ROUND(A1-5*(A1<100);IF(A1<1000;-1;-2)))
Ale takto jednoducho to zadávateľ asi nechcel. Treba to robiť, čo najviac zložito, aby sa v tom ani autor nevyznal. Asi si niekto robí prdel.
citovat
lubo(28.2.2017 15:27)#035167 marjankaj napsal/a:
Ale takto jednoducho to zadávateľ asi nechcel. Treba to robiť, čo najviac zložito, aby sa v tom ani autor nevyznal. Asi si niekto robí prdel.
Už eLCHa poslal.
Zaokrouhlování na zadaný počet platných číslic je normálně legitimní požadavek. Překvapuje mne, že Excel to neumí. Někdy se ještě do počtu platných číslic nepočítá vedoucí "1".
citovat
marjankaj(28.2.2017 15:36)#035168 lubo napsal/a:
Zaokrouhlování na zadaný počet platných číslic je normálně legitimní požadavek. Překvapuje mne, že Excel to neumí. Někdy se ještě do počtu platných číslic nepočítá vedoucí "1".
Hmmm..
V zadaní sa nepíše o zaokrúhľovaní na zadaný počet platných číslic. Aj keď to tak možno chcel. Píše o zaokrúhľovaní na desiatky alebo stovky.
citovat